使用docker部署solr以及solr使用的zookeeper
SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud。当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,搜索请求并发很高,这时需要使用SolrCloud来满足这些需求。
SolrCloud是基于Solr和Zookeeper的分布式搜索方案,它的主要思想是使用Zookeeper作为集群的配置信息中心。
部署solr使用的zookeeper集群
三台机器
192.168.100.44
192.168.100.45
192.168.100.46
192.168.100.44操作
[root@localhost ~]# cd /opt/
[root@localhost opt]# mkdir -p docker-data/solr-zk
[root@localhost opt]# cd docker-data/solr-zk
[root@localhost solr-zk]# mkdir {conf,data,datalog}
[root@localhost solr-zk]# cd conf
[root@localhost conf]# vim zoo.cfg
dataDir=/data
dataLogDir=/datalog
clientPort=2181
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
standaloneEnabled=true
admin.enableServer=false
server.1=0.0.0.0:2888:3888
server.2=192.168.100.45:12888:13888
server.3=192.168.100.46:12888:13888
[root@localhost conf]# cd ..
[root@localhost solr-zk]# vim run.sh
需要在zk的data目录下手动创建myid文件
docker run -d \
-p 12181:2181 \
-p 12888:2888 \
-p 13888:3888 \
--restart=always \
-v /opt/docker-data/solr-zk/data/:/data/ \
-v /opt/docker-data/solr-zk/datalog/:/datalog/ \
-v /opt/docker-data/solr-zk/conf/zoo.cfg:/conf/zoo.cfg \
-v /etc/localtime:/etc/localtime:ro \
--name solr-zk-100.44 \
-h 192.168.100.44 \
zookeeper:3.4.14
[root@localhost solr-zk]# echo 1 > data/myid
192.168.100.45操作
[root@localhost ~]# cd /opt/
[root@localhost opt