在linux环境上如何部署SolrCloud

SolrCloud是solr提供的分布式搜索方案,当需要大规模,容错,分布式索引和检索能力的时候使用SolrCloud,它是基于solr和zookeeper的分布式搜索方案。

SolrCloud的实现思路是将索引进行分片(shard)拆分,每个分片由多台服务器共同完成,当一个索引和搜索请求过来时分别从不同的shard的服务器中操作索引,它是基于zookeeper来部署的,由于SolrCloud需要多台服务器组成,由zookeeper来进行协调管理。

下图是SolrCloud的原理图:




物理结构

三个solr实例(每个solr包含2个core,组成一个SolrCloud

逻辑结构

索引集合包含两个shard(shard1和shard2 ),每个shard分别有三个core组成,其中一个leader,两个replication,leader由zookeeper选举产生,zookeeper控制每个shard上三个core的索引数据一致,解决高可用问题。

collection

collection在SolrCloud集群中是一个逻辑意义完整的索引结构,经常被分为多个shard(分片).

shard

collection的逻辑分片,每个shard被化成一个或者多个replication,通过选举确定哪个是leader


现在我们部署三台zookeeper服务器,三台solr服务器

zookeeper:192.168.10.85,192.168.10.83,192.168.10.82 端口都是30032

solr:192.168.10.85,192.168.10.83,192.168.10.82 端口都是15001


部署zookeeper集群

1 登陆 192.168.10.85服务器, 解压zookeeper压缩包

2 进入解压后的zookeeper文件,创建一个data文件夹(此文件夹是存放zookeeper的数据的),在该文件夹下面创建myid文件,填写内容1,保存myid文件。


3  进入解压以后的zookeeper的conf文件夹,找到zoo_sample.cfg,修改文件名为zoo.cfg,修改里面的配置信息

主要修改有以下几个配置

1 dataDir: zookeeper存数据的目录,就是刚才创建的data目录

2 clientPort:zookeeper对外提供服务端口,设置zookeeper对外提供端口是30032

3 server.x x是第二步myid里面填写的内容,表示zookeeper 集群所有节点信息 server.1 表示是第一个zookeeper节点。 

2788和3788是投票和选举的端口号,是节点之间通讯的端口。


 

4 启动zookeeper ,会发现有错误,这是因为其他两台zookeeper没有启动导致的,另外两台启动了就不会报错了


 



5 登陆 192.168.10.83服务器,创建data目录,在该文件夹下面创建myid文件,填写内容2,保存myid文件。修改配置zoo.cfg配置文件,跟上面的是一样。

6  登陆 192.168.10.82服务器,创建data目录,在该文件夹下面创建myid文件,填写内容3,保存myid文件。修改配置zoo.cfg配置文件,跟上面的是一样。


7当三台zookeeper服务器都启动了, 以前的错误已经没有了。



2 部署solr

登陆192.168.10.85服务器,部署solr,solr在linux如何部署,前面已有文章讲述。部署好三台solr,下面就是如何来整合solr和zookeeper。


3 整合zookeeper和solr,solrcloud的搭建。

1 修改solr里面的solr.xml配置文件




hostPort :修改为为这台solr服务器的端口号

zkHost :需要连接的zookeeper服务器的ip和端口号,以都好分隔。




2 修改tomcat的bin下面catalina.sh配置文件 




DzkHost是用来指定zookeeper服务器的ip和端口


3 依次启动tomcat, 在浏览器输入solr的地址,如果发现以下界面,就说明部署solrcloud成功。








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值