设为首页 收藏本站
查看: 1326|回复: 0

[经验分享] SolrCloud的介绍

[复制链接]

尚未签到

发表于 2017-12-20 13:07:43 | 显示全部楼层 |阅读模式
  SolrCloud(solr)Solr提供的分布式搜索方案
  当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud。
  当索引量很大,搜索请求并发很高时,同样需要使用SolrCloud来满足这些需求。
  不过当一个系统的索引数据量少的时候是不需要使用SolrCloud的。
  SolrCloud是基于SolrZookeeper的分布式搜索方案。它的主要思想是使用Zookeeper作为SolrCloud集群的配置信息中心,统一管理solrcloud的配置,比如solrconfig.xml和schema.xml。
  它有几个特色功能:
  1)集中式的配置信息
  2)自动容错
  3)近实时搜索
  4)查询时自动负载均衡
  Zookeeper的功能有很多:目录服务(注册中心)、配置中心
Solrcloud的结构
  solrcloud为了降低单机的处理压力,需要由多台服务器共同来完成索引和搜索任务。实现的思路是将索引数据进行Shard分片每个分片由多台服务器共同完成,当一个索引或搜索请求过来时会分别从不同的Shard的服务器中操作索引
  solrcloud是基于solrzookeeper部署,zookeeper是一个集群管理软件,solrcloud需要由多台solr服务器组成,然后由zookeeper来进行协调管理。
  下图是一个SolrCloud应用的例子:
DSC0000.png

  总结:
  一个solrcloud集群从架构方面来讲分成物理结构和逻辑结构进行理解.
  物理结构:
  一个solrcloud集群,由多台solr服务器(安装了solr对应的tomcat服务器的邮件服务器)组成,每一台solr服务器又是可以安装多个tomcat,每个tomcat中安装一个solr.war.每个solr.war对应一个solrhome,每个solrhome只需要配置一个solrcore.
  逻辑结构:
  一个solrcloud从逻辑上可以看成是一个collection(索引集合).一个collection可以从逻辑上被分为多个片shard,每个片又可以由多个solrcore组成,一个片的多个solrcore需要有一个master,其他的都是slave.
  Solrcloud架构的优势:
  1、solrcloud集群中使用分片的架构,每片提供搜索和索引的内容是不一样的。这样架构的好处是可以高扩展。
  2、solrcloud集群中同一片由不同的solrcore组成,这样如果一台solrcore失败,是不会影响使用,这样就解决了高可用。而且还可以解决高并发。
物理结构
  从物理结构来看,solrcloud需要三台solr服务器,每台服务器包括两个solrcore实例,共同组成一个solrcloud。
逻辑结构
  从逻辑结构来说,整个solrcloud就看成一个大的solrcore,也就是一个collection。而一个collection被分成两个shard分片(shard1和shard2)。
  shard1和shard2又分别由三个oslrcore组成,其中一个Leader两个Replication。Leader是由zookeeper选举产生,zookeeper控制每个shard上三个Core的索引数据一致,解决高可用问题。
  用户发起索引请求分别从shard1和shard2上获取,解决高并发问题。
Collection:
  Collection在Solrcloud集群中是一个逻辑意义上的完整的索引结构。它常常被划分为一个或多个shard分片,这些shard分片使用相同的配置信息。
  比如:针对商品信息搜索可以创建一个collection。
  collection=shard1+shard2+....+shardX
Shard:
  Shard是Collection的逻辑分片。每个Shard被化成一个或者多个replication,通过选举确定哪个是Leader。
Core:
  每个Core都是Solr中一个独立运行单位,提供索引和搜索服务。一个shard需要由一个Core或多个Core组成。由于collection由多个shard组成,一个shard由多个core组成,所以也可以说collection一般由多个core组成。
Master或Slave
  Master是master-slave结构中的主结点(通常说主服务器),Slave是master-slave结构中的从结点(通常说从服务器或备服务器)。同一个Shardmasterslave存储的数据是一致的,这是为了达到高可用目的

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-426044-1-1.html 上篇帖子: solrJ的增删改查,solrDocument与Bean的映射,直接增删该查bean完成对索引的操作 下篇帖子: solr6.6手动创建一个core
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表