在zookeeper集群的基础上,搭建伪solrCloud集群

伪集群的搭建:将solrCloud搭建到同一台机器上。

准备工作

1 将在window中部署的单机版solr上传到服务器(虚拟机)中

solr的简单部署:在tomcat中启动slor 的内容

这一次放到  mkdir /usr/local/solr-cloud  文件夹内并解压

 

2 复制4份tomcat实例  复制4份solrhome

cp -r apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat-1
cp -r apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat-2
cp -r apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat-3
cp -r apache-tomcat-7.0.47 /usr/local/solr-cloud/tomcat-4
cp -r solrhome /usr/local/solrhomes/solrhome-1
cp -r solrhome /usr/local/solrhomes/solrhome-2
cp -r solrhome /usr/local/solrhomes/solrhome-3
cp -r solrhome /usr/local/solrhomes/solrhome-4

3 修改每个solr的web.xml,关联它自己的solrhome

vi /usr/local/solr-cloud/tomcat-1/webapps/solr/WEB-INF/web.xml
修改为:/usr/local/solrhomes/solrhome-1

vi /usr/local/solr-cloud/tomcat-2/webapps/solr/WEB-INF/web.xml
修改为:/usr/local/solrhomes/solrhome-2

vi /usr/local/solr-cloud/tomcat-3/webapps/solr/WEB-INF/web.xml
修改为:/usr/local/solrhomes/solrhome-3

vi /usr/local/solr-cloud/tomcat-4/webapps/solr/WEB-INF/web.xml
修改为:/usr/local/solrhomes/solrhome-4

4 修改4个tomcat的端口(端口不能冲突)

原本文件内的端口 8085 8080 8009

vi /usr/local/solr-cloud/tomcat-1/conf/server.xml
修改三个端口:8185 8180 8109

vi /usr/local/solr-cloud/tomcat-2/conf/server.xml
修改三个端口:8285 8280 8209

vi /usr/local/solr-cloud/tomcat-3/conf/server.xml
修改三个端口:8385 8380 8309

vi /usr/local/solr-cloud/tomcat-4/conf/server.xml
修改三个端口:8485 8480 8409

配置集群

1 修改每个tomcat的catalina.sh文件,让tomcat启动时找到zookeeper集群

192.168.127.135:2181,192.168.127.135:2182,192.168.127.135:2183  是 zookeeper伪集群的搭建 zookeeper集群的地址

vi /usr/local/solr-cloud/tomcat-1/bin/catalina.sh
在约236行添加如下内容:
JAVA_OPTS="-DzkHost=192.168.127.135:2181,192.168.127.135:2182,192.168.127.135:2183"

vi /usr/local/solr-cloud/tomcat-2/bin/catalina.sh
添加如下内容:
JAVA_OPTS="-DzkHost=192.168.127.135:2181,192.168.127.135:2182,192.168.127.135:2183"

vi /usr/local/solr-cloud/tomcat-3/bin/catalina.sh
添加如下内容:
JAVA_OPTS="-DzkHost=192.168.127.135:2181,192.168.127.135:2182,192.168.127.135:2183"

vi /usr/local/solr-cloud/tomcat-4/bin/catalina.sh
添加如下内容:
JAVA_OPTS="-DzkHost=192.168.127.135:2181,192.168.127.135:2182,192.168.127.135:2183"

2 SolrCloud的配置,让solrhome知道自己对应的ip和端口号

修改solrhome-1
vi /usr/local/solrhomes/solrhome-1/solr.xml
<str name="host">192.168.127.135</str>
<int name="hostPort">8180</int>

修改solrhome-2
vi /usr/local/solrhomes/solrhome-2/solr.xml
<str name="host">192.168.127.135</str>
<int name="hostPort">8280</int>

修改solrhome-3
vi /usr/local/solrhomes/solrhome-3/solr.xml
<str name="host">192.168.127.135</str>
<int name="hostPort">8380</int>

修改solrhome-4
vi /usr/local/solrhomes/solrhome-4/solr.xml
<str name="host">192.168.127.135</str>
<int name="hostPort">8480</int>


修改的ip是当前机器的ip

3 上传solrhome下的配置文件,让zookeeper集群统一管理配置文件

上传solr的安装包 因为要使用安装包里的zkcli.sh脚本文件来上传slorhome的配置文件
cd /usr/local/solr-cloud/
rz 上传solr的tar.gz的安装包
tar -zxvf solr-4.10.3.tgz.tgz  解压solr的安装包
cd /usr/local/solr-cloud/solr-4.10.3/example/scripts/cloud-scripts/    使用脚本执行上传solr的配置文件

执行如下的上传脚本:
./zkcli.sh -zkhost 192.168.127.135:2181,192.168.127.135:2182,192.168.127.135:2183 -cmd upconfig -confdir /usr/local/solrhomes/solrhome-1/collection1/conf -confname myconf

参数解释: -zkhost指定zookeeper地址列表, -cmd指定命令, upconfig上传配置的命令, -confdir配置文件所在目录, -confname配置名称

启动集群

首先需要赋予执行的权限:
chmod 755 -R /usr/local/solr-cloud/tomcat-1/
cd /usr/local/solr-cloud/tomcat-1/bin/
./startup.sh


chmod 755 -R /usr/local/solr-cloud/tomcat-2/
cd /usr/local/solr-cloud/tomcat-2/bin/
./startup.sh


chmod 755 -R /usr/local/solr-cloud/tomcat-3/
cd /usr/local/solr-cloud/tomcat-3/bin/
./startup.sh


chmod 755 -R /usr/local/solr-cloud/tomcat-4/
cd /usr/local/solr-cloud/tomcat-4/bin/
./startup.sh

PS:

tomcat日志:进入tomcat logs文件夹执行  tail -f catalina.out  即可查看日志(克隆一个会话)

solr日志: 把安装包的log4j放到classes中 启动的时候即可查看日志

原文地址:https://www.cnblogs.com/blazeZzz/p/9617403.html