版本:
tomcat8.5
solr-7.4.0
zookeeper-3.4.14
1.搭建zookeeper服务器
解压并命名文件夹为 zookeeper1
>tar -zxvf zookeeper-3.4.14.tar.gz
新建文件夹 data
>mkdir data
新建myid文件
>cd data
>touch myid
内容为zookeeper的id 数字即可,这里需要三个服务器,id命名为 1,2,3
>vim myid
输入1保存
进入 conf目录将zoo_sample.cfg 复制 一份 命名为zoo.cfg
>cp zoo_sample.cfg zoo.cfg
修改配置
>vim conf/zoo.cfg
dataDir=/home/app/solrcloud/zookeeper1/data #这里是刚才创建的data文件夹的地址
# the port at which the clients will connect
clientPort=2181 #zookeeper服务器端口
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=172.16.8.131:2881:3881 #2881为内部端口 3881为外部访问端口
server.2=172.16.8.131:2882:3882
server.3=172.16.8.131:2883:3883
末尾server.1,server.2,server.3 的数字为myid文件内的内容
配置完成后 复制三份
zoo.cfg中的内容需要修改
dataDir 分别替换成复制的zookeeper文件夹中 data的位置
clientPort 因为这里是在同一台服务器部署,要用不同的端口进行区分
配置完成后启动三个zookeeper,可以写成脚本
> /zookeeper1/bin/zkServer.sh start
> /zookeeper2/bin/zkServer.sh start
> /zookeeper3/bin/zkServer.sh start
查看是否启动成功
> /zookeeper/bin/zkService.status
成功会显示当前服务器状态
2.配置solr集群 (基于tomcat)
解压tomcat压缩包
解压solr7.4压缩包
复制 solr7.4 server 目录下 solr-webapp下的webapp到tomcat的webapp下并修改为solr
> cp -r solr7.4/server/solr-webapp/webapp /home/app/solrcloud/tomcat/webapp/solr
前边的目录为 你的solr目录 后边是你的tomcat目录
创建solrhome
> mkdir solrhome1
> cp solr7.4/server/solr/solr.xml /home/app/solrcloud/solrhome1
> cp solr7.4/
修改solr.xml host为服务器ip hostPort 为待会部署的tomcat端口号
在solrhom1下创建connection1文件夹
> cd solrhom1
> mkdir connection1
> cp -r /solr7.4/example/example-DIH/solr/solr/conf connection1
复制solr需要的jar包 到 tomcat/webapp/solr/WEB-INF/lib目录
1.solr-dataimport 开头的两个jar
2.metrics 开头的jar包
3. solr7.4/server/lib/ext/ 该目录的所有jar
修改 web.xml
修改tomcat目录下的bin 下的catalina.sh
> vim tomcat/bin/catalina.sh
添加下图配置,为zookeeper的ip和端口号
配置好 tomcat 和 solrhom后 分别复制三份
分别修改web.xml文件
> vim tomcat/webapp/solr/WEB-INF/web.xml
将下图部分中的 env-entry-value 内容修改为你的solrhome文件夹目录
行末有一段配置登录验证的,这里注释掉
然后启动三个tomcat
3.上传solr配置文件到zookeeper
-confdir 为刚才创建的solrhome文件夹下的conf
-confname 为上传到zookeeper后的名称
[root@node004 ~]# cd /solr-7.4.0/server/scripts/cloud-scripts/
[root@node004 cloud-scripts]# ls
log4j.properties snapshotscli.sh zkcli.bat zkcli.sh
[root@node004 cloud-scripts]# ./zkcli.sh -zkhost 192.168.178.161:2181,192.168.178.161:2182,192.168.178.161:2183 -cmd upconfig -confdir /solrhome1/connection1/conf -confname default
查看zookeeper上的配置文件:
使用zookeeper目录下的bin/zkCli.sh命令查看zookeeper上的配置文件:
[root@localhost bin]# ./zkCli.sh
[zk: localhost:2181(CONNECTED) 0] ls /
[configs, zookeeper]
[zk: localhost:2181(CONNECTED) 1] ls /configs
[myconf]
[zk: localhost:2181(CONNECTED) 2] ls /configs/default
启动三个tomcat