Zookeeper
安装
- 解压
- 把conf文件夹下配置文件改个名字
cp zoo_sample.cfg zoo.cfg- 编辑zoo.cfg,配置datadir
dataDir=/opt/module/zookeeper-3.4.10/zkData- 配置集群机器,每台机器分配一个不同的Serverid
tickTime=2000
dataDir=/opt/module/zookeeper-3.4.10/zkData
clientPort=2181
initLimit=5
syncLimit=2
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
server.4=hadoop104:2888:3888
# 以上配置2,3,4就是Serverid- 在zkData文件夹里新建一个myid文件,内容是本机的Serverid
- 配置Zookeeper的LogDIR:配置bin/zkEnv.sh文件
ZOO_LOG_DIR="."改为/opt/module/zookeeper-3.4.10/logs- 分发,其他机器修改myid
- 启动zookeeper
bin/zkServer.sh start群起脚本
#! /bin/bash
case $1 in
"start"){
for i in hadoop102 hadoop103 hadoop104
do
ssh $i "/opt/module/zookeeper-3.4.10/bin/zkServer.sh start"
done
};;
"stop"){
for i in hadoop102 hadoop103 hadoop104
do
ssh $i "/opt/module/zookeeper-3.4.10/bin/zkServer.sh stop"
done
};;
"status"){
for i in hadoop102 hadoop103 hadoop104
do
ssh $i "/opt/module/zookeeper-3.4.10/bin/zkServer.sh status"
done
};;
esac选举机制
半数机制:集群中半数以上机器存活,集群可用。所以Zookeeper适合安装奇数台服务器。
监听原理
zookeeper使用Watcher做监听
- ZooKeeper 构造方法:
- 全局监控,并且永久存在,每次zookeeper的改动都会通知
- getData、exists、getChildren :
- 对path做单次监控,想要一直监控需要在process中再次注册
最后更新于