solr的配置
solrcloud依赖于zookeeper,所以需要先配置好并启动,假设zookeeper启动在192.168.80.131上
集群规划如下:
solrcloud包含两个分片,每个分片都两个节点,一主一从。
所以需要四个solr服务
在这我们在一个节点上面启动4个solr来模拟
具体步骤
解压:tar -zxvf solr-4.10.4.tgz
cd solr-4.10.4
cp -r example node1
cp -r example node2
cp -r example node3
cp -r example node4
cd node1
java -DzkHost=192.168.80.131:2181 -DnumShards=2 -Dbootstrap_confdir=./solr/collection1/conf -Dcollection.configName=myconf -jar start.jar
注意:这个启动命令指定了zookeeper的地址、分片的数量,配置信息。
再启动其他节点的时候就不需要指定分片数量和配置信息了
cd node2
java -DzkHost=192.168.80.131:2181 -Djetty.port=7574 -jar start.jar
cd node3
java -DzkHost=192.168.80.131:2181 -Djetty.port=8984 -jar start.jar
cd node4
java -DzkHost=192.168.80.131:2181 -Djetty.port=7575 -jar start.jar
这样启动完成之后,就可以到solr中查看solrcloud的集群及结构了。
http://192.168.80.131:8983/solr/#/~cloud
-Djetty.port:指定jetty的端口
-DzkHost:指定zookeeper的地址
-DnumShards=2 :分片的个数
-Dbootstrap_confdir=./solr/collection1/conf:上传配置文件
-Dcollection.configName=myconf :为配置文件起一个名称
注意:如果发现cloud中的集群机构和我们命令中指定的不一致,是因为之前的配置信息都保存在zookeeper中。
所以需要把之前的配置信息删掉,之后再重新执行创建集群的命令。
zookeeper/bin/zkCli.sh
rmr /clusterstate.json