Zookeeper:3.4.12
Solr:7.3.1
Tomcat:8.5.29
搭建的是伪集群:3个zookeeper实例,4个tomcat及solr实例
创建2个目录:zookeeper(3个zookeeper解压包,分别为zookeeper-1、zookeeper-2、zookeeper-3)和tomcat(tomcat-1、tomcat-2、tomcat-3、tomcat-4)
1、Zookeeper集群的搭建
1.1、下载
去Zookeeper官网下载Zookeeper包,并解压.
1.2、编辑配置文件
进入zookeeper-1/conf目录,将zoo_sample.cfg
重命名为zoo.cfg
,并修改
# 预先创建改目录
dataDir=/Users/dang/workspace/javaspace/zookeeper/zookeeper-1/data
clientPort=2281
#2881是zookeeper的通信端口
#3881时zookeeper的投票选举端口
#1代表的是zookeeper的id号
server.1=10.2.200.87:2881:3881
server.2=10.2.200.87:2882:3882
server.3=10.2.200.87:2883:3883
注意:zookeeper-2、zookeeper-3的配置文件和zookeeper-1的不同之处在于:dataDir和clientPort.
另外server.x
中x的值配置如下:在zookeeper-1/data
下创建文件myid
,内容为1
;另外为zookeeper-2和zookeeper-3的也创建myid文件,值分别为2、3
.
1.3、脚本
在zookeeper目录下创建下面的3个脚本
start-zk.sh
zookeeper-1/bin/zkServer.sh start
zookeeper-2/bin/zkServer.sh start
zookeeper-3/bin/zkServer.sh start
stop-zk.sh
zookeeper-1/bin/zkServer.sh stop
zookeeper-2/bin/zkServer.sh stop
zookeeper-3/bin/zkServer.sh stop
status-zk.sh
zookeeper-1/bin/zkServer.sh status
zookeeper-2/bin/zkServer.sh status
zookeeper-3/bin/zkServer.sh status
2、Solr集群搭建
tomcat的配置和solr单实例的创建请参考Solr之单例机安装.
先拷贝4份单机安装中的tomcat目录到tomcat目录,并拷贝四份的solrhome目录.
2.1、Tomcat的修改
2.1.1、修改/etc/profile
添加如下内容:
#tomcat-1
export CATALINA_1_BASE=/Users/dang/workspace/javaspace/tomcat/tomcat-1
export CATALINA_1_HOME=/Users/dang/workspace/javaspace/tomcat/tomcat-1
export TOMCAT_1_HOME=/Users/dang/workspace/javaspace/tomcat/tomcat-1
#tomcat-2
export CATALINA_2_BASE=/Users/dang/workspace/javaspace/tomcat/tomcat-2
export CATALINA_2_HOME=/Users/dang/workspace/javaspace/tomcat/tomcat-2
export TOMCAT_2_HOME=/Users/dang/workspace/javaspace/tomcat/tomcat-2
#tomcat-3
export CATALINA_3_BASE=/Users/dang/workspace/javaspace/tomcat/tomcat-3
export CATALINA_3_HOME=/Users/dang/workspace/javaspace/tomcat/tomcat-3
export TOMCAT_3_HOME=/Users/dang/workspace/javaspace/tomcat/tomcat-3
#tomcat-4
export CATALINA_4_BASE=/Users/dang/workspace/javaspace/tomcat/tomcat-4
export CATALINA_4_HOME=/Users/dang/workspace/javaspace/tomcat/tomcat-4
export TOMCAT_4_HOME=/Users/dang/workspace/javaspace/tomcat/tomcat-4
export PATH=$JAVA_HOME/bin:$CATALINA_HOME/bin:$CATALINA_1_HOME/bin:$CATALINA_2_HOME/bin:$CATALINA_3_HOME/bin:$CATALINA_4_HOME/bin:$M2_HOME/bin:/usr/local/sbin:/usr/local/bin:$PATH
2.1.2、修改tomcat下bin/catalina.sh
四个tomcat目录都要进行下面的修改,修改的值根据每个的实际情况而有所不同.下面以tomcat-1/bin/catalina.sh为例:
将catalina.sh文件中的CATALINA_HOME全部替换为CATALINA_1_HOME,CATALINA_BASE全部替换为CATALINA_1_BASE.
2.1.3、修改tomcat下conf/server.xml
tomcat-1/conf/server.xml:
将文件中的port:8005、8080、8009分别改为8205、8280、8209;
tomcat-1/conf/server.xml:
将文件中的port:8005、8080、8009分别改为8205、8280、8209;
tomcat-1/conf/server.xml:
将文件中的port:8005、8080、8009分别改为8205、8280、8209;
tomcat-1/conf/server.xml:
将文件中的port:8005、8080、8009分别改为8205、8280、8209;
2.1.4、修改tomcat/webapps下的solr工程
修改tomcat-1/webapps/solr/WEB-INF/web.xml
中的<env-entry-value>
,如下所示:
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/Users/dang/workspace/javaspace/solr-7.3.1/solrhome1</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
对于tomcat-2、3、4的修改:值分别对应solrhome2、3、4的路径.
2.1.5、脚本
start.sh
tomcat-1/bin/startup.sh
tomcat-2/bin/startup.sh
tomcat-3/bin/startup.sh
tomcat-4/bin/startup.sh
stop.sh
tomcat-1/bin/shutdown.sh
tomcat-2/bin/shutdown.sh
tomcat-3/bin/shutdown.sh
tomcat-4/bin/shutdown.sh
2.2、修改solrhome
2.2.1、修改solr.xml
修改solrhome1目录下的solr.xml
文件,如下所示:
# 在<solrcloud>标签中,host、hostport对应的是tomcat-1的IP和启动端口
<str name="host">${host:10.2.200.87}</str>
<int name="hostPort">${jetty.port:8280}</int>
对solrhome2、3、4也要进行修改,分别对应tomcat-2、3、4.
2.2.2、删除core.properties
删除solrhome1、2、3、4子目录new_core下的core.properties
new_core为单机安装时创建的core目录
2.3、向zookeeper注册solr配置
2.3.1、启动zookeeper
执行zookeeper目录下的start-zk.sh
脚本,然后执行status-zk.sh
脚本,如果mode:follower(或leader)
说明集群搭建并启动成功,如下图所示:
2.3.2、注册
在solr解压目录solr-7.3.1下
cd server/scripts/cloud-scripts
# 注册命令
./zkcli.sh -zkhost 10.2.200.87:2281,10.2.200.87:2282,10.2.200.87:2283 -cmd upconfig -confdir /Users/dang/workspace/javaspace/solr-7.3.1/solrhome1/new_core/conf -confname myconf
上述注册命令只需执行一次即可,solr集群中每个节点配置信息是一样的
2.4、启动
2.4.1、启动tomcat
执行tomcat目录下的start.sh脚本即可启动四个tomcat实例.
2.4.2、创建集群
在浏览器中请求http://localhost:8280/solr/admin/collections?action=CREATE&name=myconf&numShards=2&replicationFactor=2
,返回如下信息表示集群创建成功:
2.4.3、验证
访问部署的solr集群中任意的端口服务,如访问http://localhost:8280/solr/index.html#/