solr7.1集群部署 -图解
点关注不迷路,欢迎再访!
精简博客内容,尽量已专业术语来分享。
努力做到对每一位认可自己的读者负责。
帮助别人的同时更是丰富自己的良机。
集群环境介绍
前面文章已经介绍过solr单机部署,集群部署同理。本文还是以搭建伪集群环境为例:
Zookeeper:3台
Solr:4台
伪分布式,zookeeper三个实例、tomcat(solr)需要四个实例。
搭建步骤:上传并解压solr
Tomcat部署参数配置
第一步:tomcat解压,复制重命名
命令: cp -r apache-tomcat-8.5.47 /opt/tpapp/solr-cloud/tomcat01
第二步:将solr部署到tomcat下
cd solr-7.1.0/ 复制并重命名solr目录里的server/solrwebapp/webapp文件夹 到/opt /tpapp/solr-cloud/tomcat01/webapps/solr
命令:cp -r server/solr-webapp/webapp /opt/tpapp/solr-cloud/tomcat-01/webapps/solr
第三步:把server/lib目录下的部分jar包,添加到solr中 cd server /lib/ext/
命令:cp * /opt/tpapp/solr-cloud/tomcat01/webapps/solr/WEB-INF/lib/
server/lib/metrics开头个jar复制/opt/tpapp/solr-cloud/tomcat01/webapps/solr/WEBINF/lib下
命令:cp metr /opt/tpapp/solr-cloud/tomcat01/webapps/solr/WEB-INF/lib/
第四步:把server/resources 目录中的log4j.properties添加到刚刚部署的solr工程中
命令:cp log4j* /opt/tpapp/solr-cloud/tomcat01/webapps/solr/WEB-INF/classes/
创建solrhome参数配置
第一步:创建solrhome 将server/solr 目录复制到刚刚创建的solr目录下,重命名为solrhome01
命令:cp -r server/solr /opt/tpapp/solr-cloud/solrhome01
第二步:关联solr以及solrhome
cd /opt/tpapp/solr-cloud/tomcat01/webapps/solr/WEB-INF/
修改web.xml,这里是我修改后的内容,记得这一段去掉注释。
然后将最下方一段注释掉,不然会报403错误
第三步:配置solrCloud相关的配置。每个solrhome下都有一个solr.xml,把其中的ip及端口号
上传配置到zookeeper
第一步:上传配置到zookeeper,统一管理配置文件
将配置文件上传到前面搭建好的zookeeper集群中,上传命令如下:
脚本的执行命令有点长,主要是参数多,建议复制出来改好后再粘贴上去
./zkcli.sh -cmd upconfig -zkhost 10.100.55.152:2181,10.100.55.152:2182,10.100.55.152:2183 -confdir /opt/tpapp/solr-cloud/solrhome01/configsets/sample_techproducts_configs/conf -confname myconf
注意:如果要配置IK分词,需要将分词text_ik提前配置到conf下的managed-schema中,再上传zookeeper
<!-- ik分词器 -->
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
第二步:修改tomcat/bin目录下的catalina.sh 文件,关联solr和zookeeper
加上JAVA_OPTS的值(zookeeper集群的ip列表):
JAVA_OPTS="-DzkHost=10.100.55.152:2181,10.100.55.152:2182,10.100.55.152:2183"
执行到这里已完成solr和tomcat的关联,将solrhome和tomcat各复制四份如图:
访问集群测试
第一步 :访问集群http://10.100.55.152:8180/solr/index.html
访问集群会发现之前单机版是没有红框框出来的两个东西的,出现这个就是OK了
第二步:创建新的Collection进行分片处理
选择的是名字叫mycollection1,用自己上传的myconf配置文件,有2片shard,每个shard有2个备份节点一主一备