欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

zookeeper集群部署步骤简单易懂

时间:2023-04-19

环境准备:

20.0.0.5 zk0120.0.0.6 zk0220.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 ## IPserver.0=20.0.0.5:2888:3888server.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/myidecho “0” > data/myid ##0要和配置文件里面的0对应起来 zk02输入命令就是 echo “1” > data/myid zk03同理

6.启动
…/bin 目录下

zkServer.sh startzkServer.sh status

服务查看:20.0.0.5

[root@xxz bin]# ./zkServer.sh status/usr/local/java/bin/javaZooKeeper JMX enabled by defaultUsing config: /home/apache-zookeeper-3.6.3-bin/bin/../conf/zoo.cfgClient 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/javaZooKeeper JMX enabled by defaultUsing config: /home/apache-zookeeper-3.6.3-bin/bin/../conf/zoo.cfgClient 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。

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。