壹立方商城----linux单机搭建Solr集群

往tomcat里部署实例

利用已经搭建好的单机版的solr实例

部署方法可以参考linux搭建solr服务搜索服务搭建之solr业务域的创建

这里就将已经搭建好的实例复制过来就可以了

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

修改tomcat运行的端口号

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

修改下面三处即可,如果找不到,可以用/Server port和/Connector port搜索

此时,四个Tomcat分别运行在不同的端口上,8180、8280、8380、8480,四个Tomcat上都有一个solr

为每个solr实例创建一个对应的solrhome

每一个solr都应该对应一个solrhome,此时我们可以将单机版的solrhome复制过来

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

关联solrhome和solr

修改solr中的配置文件关联solrhome

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

进去以后搜索/usr就可以找到要修改的地方,分别是 01 02 03 04

至此,每个solr就和solrhome关联起来了

修改solrhome中的solr.xml中的当前节点的IP和端口号

[root@localhost solrhome01]# vim /usr/local/solr-cloud/solrhome01/solr.xml 
[root@localhost solrhome01]# vim /usr/local/solr-cloud/solrhome02/solr.xml 
[root@localhost solrhome01]# vim /usr/local/solr-cloud/solrhome03/solr.xml 
[root@localhost solrhome01]# vim /usr/local/solr-cloud/solrhome04/solr.xml 

。。。。。。下面两个以此类推

建立solr和zookpeer之间的关联

修改tomcat中的/bin/catalina.sh文件

[root@localhost solrhome01]# vim /usr/local/solr-cloud/tomcat01/bin/catalina.sh 
[root@localhost solrhome01]# vim /usr/local/solr-cloud/tomcat02/bin/catalina.sh 
[root@localhost solrhome01]# vim /usr/local/solr-cloud/tomcat03/bin/catalina.sh 
[root@localhost solrhome01]# vim /usr/local/solr-cloud/tomcat04/bin/catalina.sh 

修改JAVA_OPTS,JAVA_OPTS是用来配置运行时的环境变量------通过Tomcat给solr传递一个参数,建立solr与zookpeer的联系

DzkHost是zookpeer的IP地址

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

搜索/Using

此时solr和zookpeer之间的关系就建立好了

zookeeper统一管理配置文件

需要把solrhome/collection1/conf目录上传到zookeeper。上传任意solrhome中的配置文件即可。

使用工具上传配置文件:/su/solr-4.10.3/example/scripts/cloud-scripts/zkcli.sh

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

[root@localhost cloud-scripts]# ./zkcli.sh -zkhost 192.168.25.129:2181,192.168.25.129:2182,192.168.25.129:2183 -cmd upconfig -confdir /usr/local/solr-cloud/solrhome01/collection1/conf -confname myconf

查看zookeeper上的配置文件:

[root@localhost cloud-scripts]# cd /usr/local/solr-cloud/zookeeper01/bin/
[root@localhost bin]# ./zkCli.sh 

可以看到连接的是本地的2181端口的zookpeer服务

使用以下命令连接指定的zookeeper服务

[root@localhost cloud-scripts]# cd /usr/local/solr-cloud/zookeeper01/bin/
[root@localhost bin]# ./zkCli.sh -server 192.168.25.129:2182

启动tomcat

在/usr/local/solr-cloud/目录下写一个启动tomcat的批处理

vim start-tomcat-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

:wq
[root@localhost solr-cloud]# chmod u+x start-tomcat-all.sh 
./start-tomcat-all.sh

查看tomcat是否启动,调用启动日志

[root@localhost ~]# tail -f /usr/local/solr-cloud/tomcat01/logs/catalina.out

查看搭建结果

在浏览器中输入http://192.168.25.129:8180/solr得到如下界面

创建新的Collection进行分片处理

在浏览器中执行:

http://192.168.25.129:8180/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2

action=CREATE 创建索引库

name=collection2 命名为collection2

numShards=2 分片分为两片

replicationFactor=2 每片都是一主一备

删除collection1

在浏览器中执行:

http://192.168.25.129:8180/solr/admin/collections?action=DELETE&name=collection1

可以看到,此时solr集群中的索引库就剩下了一个collection2

至此,solr集群的完整搭建过程就到此结束了~~~~

猜你喜欢

转载自blog.csdn.net/qq_30916377/article/details/83216951
今日推荐