linux-Centos-7-64位:10、zookeeper

提前准备:Linux环境,JDK,zookeeper
该环境用来配置solr集群的负载均衡,创建伪分布式的zookeeper管理
创建 solrcloud 文件夹,并将zookeeper-3.4.9.tar.gz解压到该目录下

mkdir /usr/local/solrcloud
cp zookeeper-3.4.9.tar.gz /usr/local/solrcloud
tar -zxvf zookeeper-3.4.9.tar.gz

在解压后的zookeeper-3.4.9目录下,创建 data 目录 , 并在目录下创建 myid 文件,内容为1(用来标记zookeeper)

cd zookeeper-3.4.9
mkdir data
cd data
echo 1 >> myid  ( 用vi 创建文件再写入也可以 )

复制解压后的文件夹三份,并命名为zookeeper1,zookeeper2,zookeeper3

cd /usr/local/solrcloud
mv zookeeper-3.4.9 zookeeper1
cp -r zookeeper1 zookeeper2
cp -r zookeeper1 zookeeper3

并把zookeeper2,zookeeper3文件夹下的data目录中myid内容更改为2、3

vi zookeeper2/data/myid
vi zookeeper3/data/myid

进入zookeeper1/conf目录,复制zoo_sample.cfg改名为zoo.cfg

cd zookeeper1/conf
cp zoo_sample.cfg zoo.cfg

更改zoo.cfg配置文件并保存,如下图
这里写图片描述
server.1 中的“1”是myid 文件内部写的标识 1
2181:为客户端访问端口 ,2881:为选举端口 ,3881:为投票端口 保证不冲突

复制zoo.cfg 文件到zookeeper2,zookeeper3对应的conf目录下,并把端口号改为2182,2183
和文件夹data的路径

cp zoo.cfg /usr/local/solrcloud/zookeeper2/conf
vi zoo.cfg
cp zoo.cfg /usr/local/solrcloud/zookeeper3/conf
vi zoo.cfg

启动zookeeper,进入zookeeper1/bin目录下

./zkServer.sh start

启动: ./zkServer.sh start
停止: ./zkServer.sh stop
查看: ./zkServer.sh status
在solrcloud目录下 创建zk启动、停止、查看文件

************启动文件************
#vi startAllZK.sh
内容如下:
cd zookeeper1/bin/
./zkServer start
cd ../../zookeeper2/bin/
./zkServer start
cd ../../zookeeper3/bin/
./zkServer start
:wq!
************停止文件************
#vi stopAllZK.sh
内容如下:
cd zookeeper1/bin/
./zkServer stop
cd ../../zookeeper2/bin/
./zkServer stop
cd ../../zookeeper3/bin/
./zkServer stop
:wq!
************启动文件************
#vi statusAllZK.sh
内容如下:
cd zookeeper1/bin/
./zkServer status
cd ../../zookeeper2/bin/
./zkServer status
cd ../../zookeeper3/bin/
./zkServer status
:wq!

添加权限操作

#chmod +x startAllZK.sh
#chmod +x stopAllZK.sh
#chmod +x statusAllZK.sh

这里写图片描述

启动并查看状态

./startAllZK.sh
./statusAllZK.sh

这里写图片描述
leader:主节点 follower:备份节点

以上就是 zookeeper伪分布式搭建

接下来进行solrcloud伪集群搭建
首先创建4个solr实例
将之前搭建的单机版solrhome和tomcat复制过来
文章出处: linux-Centos-7-64位:8、sorl(搜索服务器)安装及配置

cp -r /usr/local/solr/tomcat/ /usr/local/solrcloud/tomcat1

复制4个,并将tomcat1~4中对应的端口改成 8001~8004、8081~8084、8011~8014

#vi tomcat1/conf/server.xml

配置整体tomcat启动/关闭文件,并配置操作权限

这里写图片描述
复制4个solrhome

#cp -r /usr/local/solr/solrhome/ /usr/local/solrcloud/solrhome1

复制4个,并更改tomcat下solr的web.xml ( 1~4 )

#vi tomcat1/webapps/solr/WEB-INF/web.xml
<env-entry-value>/usr/local/solrcloud/solrhome1</env-entry-value>

然后启动tomcat

#./startallTomcat.sh

接着将solrhome中的配置文件上传到zookeeper,使用zookeeper上传

这里写图片描述

#./zkcli.sh -zkhost 192.168.0.107:2181,192.168.0.107:2182,192.168.0.107:2183 -cmd upconfig -confdir /usr/local/solrcloud/solrhome1/collection1/conf -confname myconf

查看是否上传到zookeeper,到zookeeper的bin目录下,执行客户端查看myconf目录中是否包含solr配置文件

#cd /usr/local/solrcloud/zookeeper1/bin
#./zkCli.sh
ls /configs/myconf

修改solrhome下solr.xml中的solrcloud。改为实例对应的ip地址和端口号(1~4)

这里写图片描述

重要:修改每一台solr的tomcat中bin目录下的catalina.sh文件,加入DzkHost指定zookeeper服务器地址:(1~4)
(可以使用vi 的查找命令 /JAVA_OPTS 再次“/”可以依下查找)

JAVA_OPTS="-DzkHost=192.168.0.107:2181,192.168.0.107:8182,192.168.0.107:2183"

这里写图片描述

重新启动tomcat

./stopallTomcat.sh
./startallTomcat.sh

访问任意solr节点地址,可展现以下图文,说明成功
这里写图片描述

目前是一主多备,当前集群只有一片
接下来创建2片collection,每片是一主一备
使用以下命令创建(在浏览器中执行)

http://192.168.0.107:8081/solr/admin/collections?action=CREATE&name=collection2&numShards=2&replicationFactor=2

action:创建命令
name:名称
numShards:单位(?片)
replicationFactor:备份单位(?片)
创建完成
这里写图片描述

删除collection1,并刷新查看

http://192.168.0.107:8081/solr/admin/collections?action=DELETE&name=collection1

这里写图片描述

到此集群搭建完毕!

猜你喜欢

转载自blog.csdn.net/u014799292/article/details/53572523
今日推荐