1环境:三台centons虚拟机,下载solr6.2.0,zookeeper3.3.6,分别复制三分上传至三台服务器usr/local下,分别解压
zookeeper:https://archive.apache.org/dist/zookeeper/
solr:http://mirror.bit.edu.cn/apache/lucene/solr/
zookeeper
2:分别在三台机子/usr/local/zookeeper-3.3.6/下新建data文件夹 创建myid文件 内容分别为1 2 3
3:分别复制zookeeper-3.3.6/conf/zoo_sample.cfg到同目录下,并重命名为zoo.cfg
cp /usr/local/zookeeper-3.3.6/conf/zoo_sample.cfg /usr/local/zookeeper-3.3.6/conf/zoo.cfg
4:修改zoo.cfg
5:启动三个zookeeper zkServer.sh start
如服务器01增加以下3行:
##zookeeper
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2881 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3881 -j ACCEPT
以此类推:02、03服务器也配置相应的信息
zkServer.sh status
查看zookeeper启动是否成功
zkCli.sh
solr
几个重要的启动参数:
-c or –cloud : 以集群模式启动
-z : zookeeper的参数
分别启动solr./bin/solr start -c -z 192.168.96.130:2181,192.168.96.131:2181,192.168.96.132:2181
依次启动集群中所有节点,之后登陆任意节点的solr管理控制台:
http://192.168.96.130:8983/solr
查看集群中所有节点是否都已启动成功:
http://192.168.96.130:8983/solr/#/~cloud?view=tree
每个节点启动之后,会在zookeeper中 /live_nodes中写入一个空文件,如下图所示:
(
这样,solr_cloud就搭建成功了。但是里边并没有core和collection。在solr_cloud下,我们都是创建collection。
4、创建collection时,是需要在一台机器上执行,命令如下:
#-c collection名称,例如这里我们要创建商品的索引 #-s shard数量,我们这里分片为2 #-rf 副本数量,我们这里副本设置为2 ./bin/solr create -c product -s 2 -rf 2
这样,商品的索引就创建完成了。
)创建collection
solr安装包默认提供了一个实例配置: example/example-DIH/solr/solr/conf
创建命令:
[root@localhost solr-6.2.0]# ./bin/solr create_collection
重要参数:
-c : collection名称
-d : 配置文件的路径,可以使用上面提供的实例配置
-n : 配置名称可以和collection名称不同,默认这个参数不填的话,会使用collection名称作为config名称
-shards : 创建的shard个数,建议和集群节点数量一致。
-replicationFactor : 每个shard的副本数,综合考虑为了保证集群的稳定性,建议配置为 最少2个,最多集群节点数量/shard数量 * 2
[root@localhost solr-6.2.0]# ./bin/solr create_collection -c example -d example/example-DIH/solr/solr/conf/ -shards 3 -replicationFactor 2
如果出现如下错误:
在node1执行如下命令:为user提交缺失的配置文件。
./server/scripts/cloud-scripts/zkcli.sh -cmd upconfig -confdir ./server/solr/configsets/data_driven_schema_configs/conf -confname user -z192.168.96.130:2181,192.168.96.131:2181,192.168.96.132:2181
./server/scripts/cloud-scripts/zkcli.sh -cmd linkconfig -collection user -confname user -z192.168.96.130:2181,192.168.96.131:2181,192.168.96.132:2181
再次创建collection
[root@localhost solr-6.2.0]# ./bin/solr create_collection -c example -d example/example-DIH/solr/solr/conf/ -shards 3 -replicationFactor 2
zookeeper版本太低 换成3.4.9 在创建即成功