伪分布式zookeeper+solr自带jetty容器集群搭建
搭建环境
zookeeper 3.4.11
solr7.2.1
jdk 8
Zookeeper集群搭建
把zookeeper安装包上传到服务器
https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper解压
创建cloud把zookeeper向/usr/local/cloud目录下复制三份
zookeeper01 zookeeper02 zookeeper03在zookeeper01~3目录下创建一个data文件夹。
在data目录下创建一个myid的文件,myid的内容为1(02对应“2”,03对应“3”)echo 1 >>myid,echo 2 >>myid,echo 3 >>myid
进入conf文件,把zoo_sample.cfg文件改名为zoo.cfg
修改zoo.cfg,把dataDir=属性指定为刚创建的data文件夹。
修改zoo.cfg,把clientPort指定为不冲突的端口号(01:2181、02:2182、03:2183)
在zoo.cfg中添加如下内容:
server.1=192.168.1.105:2881:3881
server.2=192.168.1.105:2882:3882
server.3=192.168.1.105:2883:3883分别启动三个zookeeper。
Zookeeper的目录下有一个bin目录。使用zkServer.sh启动zookeeper服务。
启动:./zkServer.sh start
关闭:./zkServer.sh stop
查看服务状态:./zkServer.sh status
搭建solr集群
- 解压solr后分别拷贝四份进入bin目录下
- 分别修改solr.in.sh
ZK_HOST="192.168.1.107:2181,192.168.1.107:2182,192.168.1.107:2183" #为机器的ip SOLR_HOST="192.168.1.107" #更改端口分别为8983,8984,8985,8986 SOLR_PORT=8983 - 分别启动solr 查看启动solr状态
[root@localhost solr-7.2.1]# bin/solr start
[root@localhost solr-7.2.1]# bin/solr status
Found 1 Solr nodes:
Solr process 10139 running on port 8983
- 分布式启动,可以在任意一个Solr下启动
#(创建2个分片,2个副本,-s,-rf默认都是1,即不分片,无副本)
[root@localhost bin]# ./solr create -c coll -s 2 -rf 2 -force
s 表示分片个数
-rf 表示副本个数
- 上传配置文件到zookeeper
[root@localhost bin]# ./solr zk upconfig -n mynewconfig -d /usr/local/solr-7.2.1/server/solr/configsets/_default/conf
Uploading /usr/local/solr-7.2.1/server/solr/configsets/_default/conf for config mynewconfig to ZooKeeper at 192.168.1.107:2181,192.168.1.107:2182,192.168.1.107:2183
-n 表示配置在zk上的文件名称
-d 配置文件路径
- 查看上传zk的mynewconfig,进入任意zookeeper
[root@localhost bin]# ./zkCli.sh
[zk: localhost:2181(CONNECTED) 1] ls /
[configs, zookeeper, overseer, aliases.json, live_nodes, collections, overseer_elect, security.json, clusterstate.json, autoscaling, autoscaling.json]
[zk: localhost:2181(CONNECTED) 2] ls /configs
[ coll, mynewconfig]