zookeeper 分布式运行配置

本笔记为zookeeper单机多实例配置参考
基础安装配置请参考 zookeeper 单机运行配置

查看端口是否可用

本笔记使用 2181 – 2183,2000 – 2003,3000 -3003 这9个端口。如果你的机器上这些端口被占用,你可以使用其他端口,只需要修改相应的配置即可。
查看端口使用状态参考命令

netstat -ano | grep 2181
netstat -ano | grep 2000
netstat -ano | grep 3000
...

配置分布式信息

cd /usr/local/zookeeper
vim conf/zoo.cfg

新增如下配置

#如果是非单机多实例,把IP地址改为实际服务器IP即可
server.1=127.0.0.1:2000:3000
server.2=127.0.0.1:2001:3001
server.3=127.0.0.1:2002:3002

复制多份配置文件,参考命令:

cp conf/zoo.cfg conf/zoo-slave1.cfg
cp conf/zoo.cfg conf/zoo-slave2.cfg

分别修改 zoo-slave1.cfg 和 zoo-slave2.cfg 配置文件,修改地方分别有:

  1. clientPort (参考值:分别修改为2182 和 2183)
  2. dataDir (参考值:分别修改为/tmp/zookeeper/data/slave1 和 /tmp/zookeeper/data/slave2)
  3. dataLogDir (参考值:分别修改为 /tmp/zookeeper/log/slave1 和 /tmp/zookeeper/log/slave2)

检查以上配置目录是否存在,以及权限是否正确,如正确,则配置完成。

分配运行时ID

如上,我们配置了三个不同的 zookeeper 实例,但是如何区分它们呢,这就需要一个运行时ID。
参考命令:

echo "1"  /tmp/zookeeper/data/myid
echo "2"  /tmp/zookeeper/data/slave1/myid
echo "3"  /tmp/zookeeper/data/slave2/myid

运行zookeeper

参考命令

bin/zkServer.sh start conf/zoo.cfg
bin/zkServer.sh start conf/zoo-slave1.cfg
bin/zkServer.sh start conf/zoo-slave2.cfg

查看zookeeper运行状态

参考命令

bin/zkServer.sh status conf/zoo.cfg
bin/zkServer.sh status conf/zoo-slave1.cfg
bin/zkServer.sh status conf/zoo-slave2.cfg

可以看到,其中一个zookeeper进程的运行模式为Mode:leader
另外两个zookeeper进程的运行模式为Mode:follower
至此,zookeeper完成集群配置

    原文作者:jaren
    原文地址: https://www.jianshu.com/p/b0569b1ce694
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞