一、solrhome
cd /usr/local/
mkdir solrcloud
在solrcloud目录中上传tomcat并且复制4个和zookeeper复制3个,复制3个solrhome
二、zookeeper集群搭建
cd /usr/local/solrcloud/zookeeper01
mkdir data
cd /usr/local/solrcloud/zookeeper01
mkdir data
cd /usr/local/solrcloud/zookeeper01/data
echo 1>>myid
cd /usr/local/solrcloud/zookeeper01/conf
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg
修改zoo.cfg的端口,同理修改zookeeper02和zookeeper03 。zookeeper01clientPort=12181,zookeeper02 clientPort=22181,zookeeper03 clientPort=32181
三、修改配置
修改每个tomcat中的端口,/usr/local/solrcloud/tomcat0X/conf 中的web.xml文件,我的修改规则是tomcat01配置文件端口加一,同理tomcat零几配置文件端口就加几。
cd /usr/local/solrcloud/tomcat01/webapps/solr/WEB-INF
vi web.xml
zookeeper集群和tomcat建立联系,修改所有tomcat中的catalina.sh
vi tomcat01/bin/catalina.sh
增加一句
JAVA_OPTS="-DzkHost=192.168.57.128:12181,192.168.57.128:22181,192.168.57.128:32181"
修改solrhome0x solr.xml文件
修改solrhome0x collection1中的core.propies
#节点名称,每个core不一样
coreNodename=cx
#分片名称,每个保持不一样
shard=sx
四、脚本编写
写启动所有zk脚本,即把启动语句写到一个批处理文件中,启动所有tomcat脚本,同理可写关闭脚本。
脚本写完之后可能没有执行权限
chmod u+x startallzk.sh
五、启动
启动zk集群,tomcat集群
cd /usr/local/solrcloud
./startallzk.sh
./startalltm.sh
使用zk管理solrcloud配置文件
cd /usr/local/solr-7.1.0/server/scripts/cloud-scripts
./zkcli.sh -zkhost 192.168.57.128:12181,192.168.57.128:22181,192.168.57.128:32181 -cmd upconfig -confdir /usr/local/solrcloud/solrhome01/collection1/conf -confname myconf
六、登录solr管理页面,创建集群
创建一个名字为collection2的核心,包含两个分片,每个分片两台机器。最终提示success代表创建成功
地址栏输入:
http://192.168.57.128:8001/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2
可见页面跟单机一样,左侧菜单栏多了一个cloud,表示成功。
遇见的问题:
zookeeper上传文件失败