搭建zookeeper集群环境
详细步骤参考分布式——zookeeper集群环境搭建
搭建单机版solr
基于单机版tomcat-solr实现solrcloud集群搭建
搭建solrcloud集群步骤:
solrcloud安装在/usr/local/solrcloud目录下
- 第一步:复制4个单机版solr服务对应的tomcat,并分别修改端口为:8280、8380、8480、8580。
然后修改tomcat8280的server.xml,同理修改其他几个tomcat的server.xml
#第22行
<Server port="8205" shutdown="SHUTDOWN">
#第69行
<Connector port="8280" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
#第116行
<Connector port="8209" protocol="AJP/1.3" redirectPort="8443" />
- 第二步:复制4个solrhome,分别为solrhome8280、solrhome8380、solrhome8480、solrhome8580。一个solr实例对应一个solrhome。
也有人将solrhome放在tomcat-solr-${port}的里面与tomcat的webapp同级也是可以的,在第三步修改时指定即可。
- 第三步:修改每个solr服务对应的Tomcat容器中solr项目的web.xml文件中的内容(目录结构为/usr/local/solrcloud/tomcat_8280/webapps/solr/WEB-INF)
- 第四步:修改每个solrhome下的solr.xml,指定对应solr服务的tomcat的ip和端口。
- 第五步:设置tomcat的启动参数,在每个tomcat目录下的bin/catalina.sh,添加以下内容:
#第239行(不用动);
#JAVA_OPTS="$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=`umask`"
#在第239行下面添加一行JAVA_OPTS的配置
JAVA_OPTS="-DzkHost=192.168.31.241:2182,192.168.31.241:2183,192.168.31.241:2184"
#解释:上面的三个ip为三个zookeeper的ip+clientPort的通讯端口(clientPort)
- 第六步:将solr配置文件上传到zookeeper中,进行统一管理,进入到/root/soft/solr-5.3.1/server/scripts/cloud-scripts目录 (此目录在apacha-solr包中) 中执行zkcli.sh命令:
上传配置文件
./zkcli.sh -zkhost ${ip}:2281,${ip}:3281,${ip}:4281 -cmd upconfig -confdir /usr/local/solrcloud/solrhome8280/solr/item/conf -confname myconf/item(每个ip地址之间用逗号分隔)
绑定配置文件和collection
./zkcli.sh -zkhost 172.16.117.7:2181,172.16.117.7:3181,172.16.117.7:4181 -cmd linkconfig -collection artisan -confname myconf/artisan
-
第七步:编写脚本文件启动所有的solr服务
-
第八步:访问部署的solr集群中任意的端口服务
-
第九步:solrcloud搭建完毕。
创建分片
分片对应单机solr中的core
http://localhost:8280/solr/admin/collections?action=CREATE&name=studio&numShards=3&replicationFactor=2&collection.configName=myconf/studio
删除不用的collection
http://172.16.117.7:8280/solr/admin/collections?action=DELETE&name=studio