solr(伪分布式)集群搭建

上传文件什么的,就不说了,直接进入正题,为了方便,我直接使用的root用户操作

分别解压这三个压缩文件

 tar -zxvf apache-tomcat-9.0.10.tar.gz
 tar -zxvf solr-7.4.0.tgz
 tar -zxvf zookeeper-3.4.13.tar.gz 

先创建一个文件夹

mkdir /usr/local/solrcloud/

复制zookeeper,tomcat,solr文件夹下的所有东西到 solrcloud文件夹下,我这里是以端口号来区分每个文件夹

cp zookeeper-3.4.13 /usr/local/solrcloud/zookeeper2181 -r
cp zookeeper-3.4.13 /usr/local/solrcloud/zookeeper2182 -r
cp zookeeper-3.4.13 /usr/local/solrcloud/zookeeper2183 -r
cp apache-tomcat-9.0.10 /usr/local/solrcloud/tomcat8081 -r
cp apache-tomcat-9.0.10 /usr/local/solrcloud/tomcat8082 -r
cp apache-tomcat-9.0.10 /usr/local/solrcloud/tomcat8083 -r
cp apache-tomcat-9.0.10 /usr/local/solrcloud/tomcat8084 -r
 cp solr-7.4.0/server/solr /usr/local/solrcloud/solrhome8081 -r
 cp solr-7.4.0/server/solr /usr/local/solrcloud/solrhome8082 -r
 cp solr-7.4.0/server/solr /usr/local/solrcloud/solrhome8083 -r
 cp solr-7.4.0/server/solr /usr/local/solrcloud/solrhome8084 -r

紧接着复制solr-webapp下的webapp到tomcat的webapps目录下,并重命名为solr

cp solr-7.4.0/server/solr-webapp/webapp/ /usr/local/solrcloud/tomcat8081/webapps/solr -r
cp solr-7.4.0/server/solr-webapp/webapp/ /usr/local/solrcloud/tomcat8082/webapps/solr -r
cp solr-7.4.0/server/solr-webapp/webapp/ /usr/local/solrcloud/tomcat8083/webapps/solr -r
cp solr-7.4.0/server/solr-webapp/webapp/ /usr/local/solrcloud/tomcat8084/webapps/solr -r

可以看到目录下有solr文件夹了

接下来,切换到solrcloud目录下,执行下面的命令,创建三个文件夹

mkdir zookeeper2181/data
mkdir zookeeper2182/data
mkdir zookeeper2183/data

使用echo来创建文件,并写入内容

echo 2181 >> zookeeper2181/data/myid
echo 2182 >> zookeeper2182/data/myid
echo 2183 >> zookeeper2183/data/myid

使用cat来查看文件的内容,已经写入成功

复制zoo_sample.cfg 然后命名为zoo.cfg

cp zookeeper2181/conf/zoo_sample.cfg zookeeper2181/conf/zoo.cfg 
cp zookeeper2182/conf/zoo_sample.cfg zookeeper2182/conf/zoo.cfg 
cp zookeeper2183/conf/zoo_sample.cfg zookeeper2183/conf/zoo.cfg 

然后分别修改zoo.cfg

创建三个脚本来管理zookeeper

vim zk-start-all.sh
vim zk-status-all.sh
vim zk-stop-all.sh

内容分别为

/usr/local/solrcloud/zookeeper2181/bin/zkServer.sh start
/usr/local/solrcloud/zookeeper2182/bin/zkServer.sh start
/usr/local/solrcloud/zookeeper2183/bin/zkServer.sh start
/usr/local/solrcloud/zookeeper2181/bin/zkServer.sh status
/usr/local/solrcloud/zookeeper2182/bin/zkServer.sh status
/usr/local/solrcloud/zookeeper2183/bin/zkServer.sh status
/usr/local/solrcloud/zookeeper2181/bin/zkServer.sh stop
/usr/local/solrcloud/zookeeper2182/bin/zkServer.sh stop
/usr/local/solrcloud/zookeeper2183/bin/zkServer.sh stop

然后让这三个文件,变成可执行文件

chmod +x zk-start-all.sh
chmod +x zk-status-all.sh
chmod +x zk-stop-all.sh

然后使用 ./zk-start-all.sh 来启动zookeeper,使用 ./zk-status-all.sh 来查看启动状态,我这里已经启动成功

zookeeper的配置告一段落,接下来就是配置tomcat与solr了,先分别配置solrhome的位置

vim tomcat8081/webapps/solr/WEB-INF/web.xml
vim tomcat8082/webapps/solr/WEB-INF/web.xml
vim tomcat8083/webapps/solr/WEB-INF/web.xml
vim tomcat8084/webapps/solr/WEB-INF/web.xml

继续在web.xml文件里面把文件最后的地方注释了,不注释会报403,每个文件都要注释的哈

在每个tomcat的bin下的catalina.sh添加,ip地址是自己的ip,端口就是最开始设置的那个端口

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

接下来,修改solrhome下的solr.xml

vim solrhome8081/solr.xml 
vim solrhome8082/solr.xml 
vim solrhome8083/solr.xml 
vim solrhome8084/solr.xml 

接下来,切换到最开始解压solr是那个文件夹下

cd /root/solr-7.4.0/server/scripts/cloud-scripts

执行

./zkcli.sh -zkhost 192.168.72.129:2181,192.168.72.129:2182,192.168.72.129:2183 -cmd upconfig -confdir /root/solr-7.4.0/server/solr/configsets/sample_techproducts_configs/conf  -confname myconf

切换到server下的lib文件夹下

cd /root/solr-7.4.0/server/lib/

可以看到有这些jar包

把红圈圈了的分别复制到每个tomcat的solr实例下的lib里面

cp metrics-* /usr/local/solrcloud/tomcat8081/webapps/solr/WEB-INF/lib/
cp metrics-* /usr/local/solrcloud/tomcat8082/webapps/solr/WEB-INF/lib/
cp metrics-* /usr/local/solrcloud/tomcat8083/webapps/solr/WEB-INF/lib/
cp metrics-* /usr/local/solrcloud/tomcat8084/webapps/solr/WEB-INF/lib/

切换回solrcloud,执行,这里随便选择一个zookeeper执行,都可以

./zookeeper2181/bin/zkCli.sh 

这里可以执行这三个命令,来查看传上去的文件,主要是标红的两个文件

ls /
ls /configs
ls /configs/myconf

输入 quit 可以退出这个进程,接下来,修改tomcat的端口

vim tomcat8081/conf/server.xml
vim tomcat8082/conf/server.xml
vim tomcat8083/conf/server.xml
vim tomcat8084/conf/server.xml

端口在原来的基础上递增就行了,为了不影响默认端口,我是从8081开始的

接下来,在写两个tomcat的脚本

vim tomcat-start-all.sh 
vim tomcat-stop-all.sh 
/usr/local/solrcloud/tomcat8081/bin/startup.sh
/usr/local/solrcloud/tomcat8082/bin/startup.sh
/usr/local/solrcloud/tomcat8083/bin/startup.sh
/usr/local/solrcloud/tomcat8084/bin/startup.sh
/usr/local/solrcloud/tomcat8081/bin/shutdown.sh
/usr/local/solrcloud/tomcat8082/bin/shutdown.sh
/usr/local/solrcloud/tomcat8083/bin/shutdown.sh
/usr/local/solrcloud/tomcat8084/bin/shutdown.sh

添加权限

chmod +x tomcat-start-all.sh 
chmod +x tomcat-stop-all.sh 

执行 ./tomcat-start-all.sh 脚本,在浏览器输入ip:端口,报错了,在虚拟机里面试一试

看来是防火墙没关,我是使用的centos7,使用 firewall-cmd --state 来,查看防火墙是否开启

使用 systemctl stop firewalld.service  来停止防火墙,然后使用 systemctl disable firewalld.service 来禁止防火墙开机自启动

接下来,输入项目名称即可访问了

接下来创建一个collection,取名就叫collection1吧

接下来,点击cloud即可,看到刚刚创建的collection1了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值