上传文件什么的,就不说了,直接进入正题,为了方便,我直接使用的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了