Solr集群搭建

来源:互联网 发布:库卡焊接机器人编程 编辑:程序博客网 时间:2024/04/29 19:10

继上篇《Zookeeper集群搭建》,此篇介绍Solr集群的搭建。


第一步:安装四个tomcat,修改其端口号不能冲突。8080~8083

[root@localhost ~]# cp -r apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat01[root@localhost ~]# cp -r apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat02[root@localhost ~]# cp -r apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat03[root@localhost ~]# cp -r apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat04

[root@localhost solr-cloud]# vim tomcat02/conf/server.xml[root@localhost solr-cloud]# vim tomcat03/conf/server.xml[root@localhost solr-cloud]# vim tomcat04/conf/server.xml

需要修改的内容:
<Server port="8005" shutdown="SHUTDOWN"><Connector port="8080" protocol="HTTP/1.1"               connectionTimeout="20000"               redirectPort="8443" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

红色数字部分每一个tomcat都依次往上加上一个数,避免冲突。

第二步:向tomcat下部署solr。

把单机版的solr工程复制到tomcat下即可。

[root@localhost webapps]# cp -r solr /usr/local/solr-cloud/tomcat01/webapps/[root@localhost webapps]# cp -r solr /usr/local/solr-cloud/tomcat02/webapps/[root@localhost webapps]# cp -r solr /usr/local/solr-cloud/tomcat03/webapps/[root@localhost webapps]# cp -r solr /usr/local/solr-cloud/tomcat04/webapps/

第三步:为每个solr实例创建一solrhome。

[root@localhost solr]# cp solrhome/ /usr/local/solr-cloud/solrhome01 -r[root@localhost solr]# cp solrhome/ /usr/local/solr-cloud/solrhome02 -r[root@localhost solr]# cp solrhome/ /usr/local/solr-cloud/solrhome03 -r[root@localhost solr]# cp solrhome/ /usr/local/solr-cloud/solrhome04 -r

第四步:为每个solr实例关联对应的solrhome。

修改web.xml

[root@localhost solr-cloud]# vim tomcat01/webapps/solr/WEB-INF/web.xml[root@localhost solr-cloud]# vim tomcat02/webapps/solr/WEB-INF/web.xml[root@localhost solr-cloud]# vim tomcat03/webapps/solr/WEB-INF/web.xml[root@localhost solr-cloud]# vim tomcat04/webapps/solr/WEB-INF/web.xml 

修改内容:
  <env-entry>       <env-entry-name>solr/home</env-entry-name>       <env-entry-value>/usr/local/solr-cloud/solrhome01</env-entry-value>       <env-entry-type>java.lang.String</env-entry-type>    </env-entry>

其它三个依次对应02,03,04

第五步:修改每个solrhome下的solr.xml文件。

修改host、hostPort两个属性。分别是对应的ip及端口号。

[root@localhost solrhome01]# vim solr.xml[root@localhost solrhome01]# vim ../solrhome02/solr.xml[root@localhost solrhome01]# vim ../solrhome03/solr.xml[root@localhost solrhome01]# vim ../solrhome04/solr.xml 

其他三个以此类推

第六步:把配置文件上传到zookeeper。

需要使用/root/solr-4.10.3/example/scripts/cloud-scripts/zkcli.sh命令上传配置文件。
把/usr/local/solr-cloud/solrhome01/collection1/conf目录上传到zookeeper。
需要zookeeper集群已经启动。

首先进入目录

[root@localhost cloud-scripts]# cd /root/solr-4.10.3/example/scripts/cloud-scripts

./zkcli.sh -zkhost 192.168.80.130:2181,192.168.80.130:2182,192.168.80.130:2183 -cmd upconfig -confdir /usr/local/solr-cloud/solrhome01/collection1/conf -confname myconf

第七步:查看是否上传成功。

使用zookeeper的zkCli.sh命令。
进入目录:

 cd /usr/local/solr-cloud/zookeeper01/bin/

执行命令:
 ./zkCli.sh

结果:

可以继续通过命令查看上传的文件,最主要的是solrconfig.xml和schema.xml

退出命令:quit

第八步:告诉solr实例zookeeper的位置。

需要修改tomcat的catalina.sh添加

JAVA_OPTS="-DzkHost=192.168.80.130:2181,192.168.80.130:2182,192.168.80.130:2183"

每个节点都需要添加。
 cd /usr/local/solr-cloud/tomcat01/bin/ vim catalina.sh

 在用之前添加,添加位置

其他三个tomcat的操作一样。

第九步:启动每个solr实例。

用配置文件进行启动

[root@localhost solr-cloud]# vim start-all.sh

添加内容:
/usr/local/solr-cloud/tomcat01/bin/startup.sh/usr/local/solr-cloud/tomcat02/bin/startup.sh/usr/local/solr-cloud/tomcat03/bin/startup.sh/usr/local/solr-cloud/tomcat04/bin/startup.sh

提升可执行权限
[root@localhost solr-cloud]# chmod +x start-all.sh

启动
[root@localhost solr-cloud]# ./start-all.sh

可以查看启动日志,验证是否已启动
[root@localhost solr-cloud]# tail -f /usr/local/solr-cloud/tomcat01/logs/catalina.out 

其他三个tomacat类似操作。

客户端进行访问:

第十步:集群分片。

将集群分为两片,每片两个副本。
http://192.168.80.130:8080/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2
 


第十一步:删除不用collection1
http://192.168.80.130:8080/solr/admin/collections?action=DELETE&name=collection1

 

根据id删除



小结

《Solr集群的架构》、《Zookeeper集群搭建》及此篇便是关于Solr集群搭建的整个过程。任何东西不能只是从理论上理解,还要亲手实践,循环往复,上手能力才会越来越强

0 0
原创粉丝点击