Zookeeper集群部署
一、安装java环境
每个节点都安装jdk
# apt -y install openjdk-8-jdk
二、部署zookeeper
2.1 所有节点部署zookeeper
mkdir /apps
tar xvf zookeeper-3.4.13.tar.gz -C /apps/
cd /apps/ && ln -sv zookeeper-3.4.13 zookeeper
cp /apps/zookeeper/conf/zoo_sample.cfg /apps/zookeeper/conf/zoo.cfg
2.1 node1节点修改配置文件
# grep -v "^#" /apps/zookeeper/conf/zoo.cfg
tickTime=2000 #服务器与服务器之间的单次心跳检测时间间隔,单位为毫秒
initLimit=10 #心跳次数
syncLimit=5
dataDir=/data/zookeeper
clientPort=2181
server.1=10.0.5.101:2888:3888
server.2=10.0.5.102:2888:3888
server.3=10.0.5.103:2888:3888
2.2 分发配置文件到各个节点
[root@node1]# scp /apps/zookeeper/conf/zoo.cfg 10.0.5.102:/apps/zookeeper/conf/zoo.cfg
[root@node1]# scp /apps/zookeeper/conf/zoo.cfg 10.0.5.103:/apps/zookeeper/conf/zoo.cfg
2.3 准备相关文件
# mkdir /data/zookeeper -pv
##配置各节点的myid(必须介于 1 和 254 之间)
# echo 1 > /data/zookeeper/myid
# echo 2 > /data/zookeeper/myid #在节点2执行
# echo 3 > /data/zookeeper/myid #在节点3执行
2.4 启动zookeeper
所有节点执行,不要间隔太久
# /apps/zookeeper/bin/zkServer.sh start
#启动失败可能出现的情况
ZooKeeper JMX enabled by default
Using config: /apps/zookeeper/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
解决:1、确保防火墙关闭:ufw disable 2、确保各个节点的myid是否合理,不能出现相同的,否则影响leader选举 3、确保主机IP地址和配置集群IP地址一致
2.5 查看zookeeper集群状态
##在node1节点查看
# /apps/zookeeper/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /apps/zookeeper/bin/../conf/zoo.cfg
Mode: follower
##在node2节点查看
# /apps/zookeeper/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /apps/zookeeper/bin/../conf/zoo.cfg
Mode: follower
##在node3节点查看
# /apps/zookeeper/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /apps/zookeeper/bin/../conf/zoo.cfg
Mode: leader
#很显然,node3竞选成为leader。