一、Solr搭建准备文件。
和单机版搭建所写相同。点击打开链接
二、集群版服务搭建步骤。
1、Zookeeper在solr集群中的角色。
1)、集群的入口
2)、配置文件的集中管理
3)、集群管理
为了实现Zookeeper的高可用,solr集群也需要搭建zookeeper的集群。由于条件限制,启动太多虚拟机电脑会卡顿,所以采用一台虚拟机搭建伪分布式服务。
2、zookeeper集群搭建。
1)新建solr集群目录:mkdir /usr/local/solr-cloud
2)解压/root目录下的zookeeper安装包,并复制3份到solr-cloud目录下,如下图:
3)进入zookeeper01目录,在目录下创建data目录,并在data目录下创建myid文件,编辑myid的内容为1
(作为zookeeper的编号)
4)修改conf目录下zoo_sample.cfg的名称为zoo.cfg,使用命令:mv zoo_sample.cfg zoo.cfg
5)编辑zoo.cfg文件,修改如下内容:
6)其他两个节点的配置类似。
7)编写一个批处理,用于启动多个zookeeper节点,vim start-zookeeper.sh
给当前用户赋予操作start-zookeeper.sh文件的权限:chmod u+x start-zookeeper.sh
8)启动zookeeper集群:./start-zookeeper.sh,可以分别查看每个zookeeper节点的状态了解主从关系。
3、Solr集群搭建。
1)将/root目录下解压的tomcat复制4份到/usr/local/solr-cloud目录下
2)分别修改复制的4个tomcat的端口号,不冲突即可。
3)将单机版配好的solr服务复制到4个tomcat的webapps目录下:
4)将/usr/local/solr下的solrhome目录复制四份到solr-cloud目录下,分别取名solrhome01-solrhome04.
5)分别编辑每个solrhome下的solr.xml文件,修改集群配置的ip和port,如下:
其他的solrhome修改相类似。
6)分别修改每个tomcat下solr服务的WEB-INF下的web.xml文件,改成对应的solrhome目录:
7)分别修改每个tomcat的bin目录下的catalina.sh文件,关联solr和zookeeper。
tomcat的catalinda.sh中的配置:
JAVA_OPTS="-DzkHost=服务IP:2181,服务IP:2182,服务IP:2183"
其他的tomcat修改相类似。
8)将solrhome下的配置文件上传到zookeeper进行配置文件统一管理,切换到目录:
/root/solr-4.10.3/example/scripts/cloud-scripts,使用目录下zkCli.sh执行如下命令:
./zkcli.sh -zkhost 192.168.1.10:2181,192.168.1.10:2182,192.168.1.10:2183 -cmd upconfig -confdir /usr/local/solr-cloud/solrhome01/collection1/conf/ -confname myconf
上传结束后,使用连接zookeeper的命令:
./zkCli.sh -server 192.168.1.10:2182
连接成功后,使用ls查看目录下是否有我们刚才上传的的配置文件:
9)编辑批处理文件start-tomcat.sh启动所有的tomcat。
vim start-tomcat.sh
赋予可执行权限:chmod u+x start-tomcat.sh,启动。
10)待tomcat启动成功后,使用浏览器访问solr服务,如图:
11)创建新的Collection重新分片
http://192.168.1.10:8180/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2
执行成功后重新访问:
12)删除collection1的命令:
http://192.168.1.10:8180/solr/admin/collections?action=DELETE&name=collection1
这样solr集群就已经搭建成功,可以正常使用。