ZooKeeper集群搭建(一):准备工作以及搭建集群的具体操作

为什么要做ZooKeeper集群?

  1. ZooKeeper在Dubbo框架中起着发现服务,服务注销/注册(动态伸缩)的功能,假如仅有的一台Zookeeper宕机了,将会造成整个应用的服务调用失败,服务停摆期间所造成的损失不可想象

  2. 同时Zookeeper也是很多中间件,比如消息中间件ActiveMQ集群所需要依赖的

    关键是ActiveMQ集群的主从选举是基于Zookeeper实现的,如果关键时刻唯一的Zookeeper宕机了,那么ActiveMQ的主从切换也将无法实现

准备工作

假如你还没有安装ZooKeeper,可以参考下面的文章,只需要看前面20行左右即可

ZooKeeper: 在CentOS7中配置Zookeeper并搭建测试环境:https://blog.csdn.net/fenghuoliuxing990124/article/details/84979590

为了排除干扰,进入安装好的zookeeper的bin目录下执行:

./zkServer.sh stop

具体操作

  1. 进入/usr/local 建立zookeeper-cluster文件夹

    cd /usr/local
    mkdir zookeeper-cluster

  2. 复制安装好的zookeeper到zookeeper-cluster下

    cp -r zookeeper ./zookeeper-cluster/

    mv ./zookeeper-cluster/zookeeper ./zookeeper-cluster/zk1

  3. 进入zk1的conf,修改zoo.cfg文件
    在这里插入图片描述

  4. 为zoo.cfg添加以下配置

一般来说应该是这样的:

server.1=192.168.230.121:2888:3888
server.2=192.168.230.122:2888:3888
server.3=192.168.230.123:2888:3888

这里server后接的数字代表ID号

IP地址后面的2888端口表示的是:集群中leader与follower通信的接口

3888端口表示的是:投票选举时用的接口

但是我们都是配置在同一台主机上的,所以,上面的地址变为:

server.1=192.168.230.140:2888:3888
server.2=192.168.230.140:2887:3887
server.3=192.168.230.140:2886:3886

最终配置为:

在这里插入图片描述

也许你已经看见了红线表示的部分,因为我已经启动过集群一次了

实际上zookeeper会将你之前填写的内容动态链接到一个文件中:

该文件的内容如下:

在这里插入图片描述

接下来你注意到了下面的部分,是的,由于我们目前所有的zookeeper都在同一台服务器上,所以下面的客户端接口,admin.server接口都得改动

在这里插入图片描述

5.创建data与log文件

在上面你看到了data与log文件的文件路径配置,注意这个是一定要配置的,并且一定要是各自独立的,这个配置以后才能保证,集群中的Master宕机后,新Master的数据不受影响

cd /usr/local/zookeeper-cluster/zk1
mkdir data
mkdir log

6.进入data目录,新建myid文件

echo 1 >> myid

这个"1"对应的是zoo.cfg中server.1,后面的zk2,zk3节点同理

接下来就是制作zk2,zk3节点

cd /usr/local/zookeeper-cluster

cp -r zk1 zk2

将下面的clientPort = 2181 --> 2182

admin.serverPort=9999 --> 9998

修改data,log对应的文件夹,最后在data中添加对应的zk2节点

在这里插入图片描述

zk3节点同理,不再赘述

防火墙配置

由于要开放端口较多,直接关闭即可

如需开放端口,可参考:

CentOS7:配置防火墙:https://blog.csdn.net/fenghuoliuxing990124/article/details/84931331

如果以上都没有问题,下一步即是集群测试了

猜你喜欢

转载自blog.csdn.net/fenghuoliuxing990124/article/details/85273533