zookeeper集群部署 步骤简单易懂

  • Post author:
  • Post category:其他


环境准备:

20.0.0.5 zk01
20.0.0.6 zk02
20.0.0.7 zk03

需要准备:

1.第一步 jdk环境

2.第二步 zookeeper包

wget —no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.6.3-bin.tar.gz

3.准备存储目录以及日志存储目录

mkdir data

mkdir logs

4.更改配置文件

conf目录下提供了配置的样例zoo_sample.cfg,要将zk运行起来,需要将其名称修改为zoo.cfg。

tickTime=2000 ##时长单位为毫秒,为zk使用的基本时间度量单位

initLimit=10 ## follower与leader之间建立连接后进行同步的最长时间。

syncLimit=5 ## 配置follower和leader之间发送消息,请求和应答的最大时间长度

dataDir=/home/apache-zookeeper-3.6.3-bin/data ##事务日志目录  
dataLogDir=/home/apache-zookeeper-3.6.3-bin/logs ##快照日志目录 默认跟事务日志存一块

clientPort=2181 ##端口号
clientPortAdress=20.0.0.5 ## IP

server.0=20.0.0.5:2888:3888
server.1=20.0.0.6:2888:3888 ## 在集群模式下,建议至少部署3个zk进程,或者部署奇数个zk进程 偶数两台挂一台就跑不起来
server.2=20.0.0.7:2888:3888

其中server.0 0:id为一个数字,表示zk进程的id,这个id也是dataDir目录下myid文件的内容。
host是该zk进程所在的IP地址,2888:表示follower和leader交换消息所使用的端口,3888:表示选举leader所使用的端口。

5.配置zk进程的id

touch /data/myid
echo “0> data/myid ##0要和配置文件里面的0对应起来 zk02输入命令就是 echo “1> data/myid zk03同理

6.启动

…/bin 目录下

zkServer.sh start
zkServer.sh status

服务查看:20.0.0.5

[root@xxz bin]# ./zkServer.sh status
/usr/local/java/bin/java
ZooKeeper JMX enabled by default
Using config: /home/apache-zookeeper-3.6.3-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader ## 领导者状态

服务查看:20.0.0.6与20.0.0.7

[root@node1 bin]# ./zkServer.sh status
/usr/local/java/bin/java
ZooKeeper JMX enabled by default
Using config: /home/apache-zookeeper-3.6.3-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower ##跟随者状态



权重:编号越大在选择算法中的权重越大,ID值越大说明数据越新,在选举算法中权重越大

可以测试关闭一台leader主机,然后zookeeper会从剩余的两台follower中会将自己的服务器状态变更为LOOKING,然后重新进入Leader选举流程,选举一台主机位leader

想要了解Leader选举过程投票机制可以看:

这里


zk单机:

当正在运行的只有Server1服务器时,是无法单独进行和完成Leader选举。

即,单机部署Zookeeper,只需要在zoo.cfg中配置下dataDir,再运行启动脚本即完成部署sh zkServer.sh start,此时Mode:standalone。



版权声明:本文为weixin_50344807原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。