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  在创建即成功


Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐