SolrCloud的搭建与稳定性测试

时间:2023-03-08 16:46:54

转载请注明出处:http://www.cnblogs.com/wubdut/p/7573738.html

一、集群搭建

1. zookeeper搭建(版本:3.4)

1.1 zoo.cfg配置文件:

dataDir=/usr/share/zookeeper/data/

clientPort=2181

server.1=10.0.67.31:2881:3881

server.2=10.0.67.32:2881:3881

server.3=10.0.67.33:2881:3881

1.2 dataDir=/usr/share/zookeeper/data/目录下新建myid文件,写入x(注:server.x中,x值与dataDir中的myid中的值对应)。

1.3 启动

./zkServer.sh start                         #启动,要从server.1开始启动

./zkServer.sh status                      #查看状态:Leader或者是Follower

./zkServer.sh stop                         #停止

2. SolrCloud搭建(版本:6.6(JDK8)):

2.1 生成cloud文件(每个服务节点都执行相同操作)

运行 $ bin/solr -e cloud -noprompt          # 在example中生成cloud文件夹

运行 $ bin/solr stop -all                           # 停止所有solr节点

2.2 启动SolrCloud(每个服务节点都执行相同操作)

$ bin/solr start -force -cloud -s example/cloud/node1/solr -p 8983 -z 10.0.67.31:2181,10.0.67.32:2181,10.0.67.33:2181

$ bin/solr start -force -cloud -s example/cloud/node2/solr -p 7574 -z 10.0.67.31:2181,10.0.67.32:2181,10.0.67.33:2181

2.3 创建collection

$ bin/solr create -force -c mycollection -d data_driven_schema_configs -s 4 -rf 2                     # 4个shard,2个副本

2.4 删除collection

http://192.168.2.68:8983/solr/admin/collections?action=DELETE&name=collectionname        # 删除collection

二、稳定性测试(测试过程中,一直在推送数据):

1. SolrCloud的分片leader转移、恢复测试:

通过关闭分片leader,测试是否副本会继承为leader。重启关闭结点,是否成功恢复。

成功完成此项测试。

2. 关闭SolrCloud重启测试:

关闭所有solr节点。重启后,shard2,3,4立即恢复,shard1的两个节点都down了,等待一段时间后,恢复正常。

成功完成此项测试。

3. 关闭zookeeper(3个节点),重启测试:

关闭leader,leader成功转移,服务正常。再关闭一个zookeeper,服务停止。

启动关闭的两个节点后,正常推送数据。

成功完成此项测试。

三、节点监控策略:

定时向各solr节点端口发送查询请求,判断节点是否正常(即,是否Gone)。如果Gone,远程调用执行:

$ bin/solr restart -force -cloud -s example/cloud/node1/solr -p 8983 -z 10.0.67.31:2181,10.0.67.32:2181,10.0.67.33:2181

附录:搭建中的问题

1. 启动后存在无用的collection:

通过zkcli删除zookeeper服务其中的collections下的对应目录。

2. 无法创建新collection,报不能加载配置或者配置不存在:

删除clusterstate.json中的对应项。可通过接口删除。