1 zookeeper简介
1.1 zk的应用场景
- 感知节点的状态
- 写数据
- 读数据
1.2 zk的特性
分布式协调工具
- 分布式锁
- 负载均衡
- 统一域名
zookeeper的高可用
1.3 zookeeper的选举机制(安装奇数台)
Zookeeper的
- 主节点叫做 leader (1个)
- 从节点叫做 follower(多个)
集群初次启动时的选举流程:
- id=1的机器启动发现集群中没有leader,此时进入选举状态,投给自己一票
- 然后进入广播
- id=2的机器启动发现集群中没有leader,进入选举状态,收到id=1的选票,然后给自己投了一票
- 然后id=2的机器进入广播状态
- id=1的收到id=2的广播,自己的id小,改成投id=2的机器一票,然后进入广播状态
- id=2 的机器当选,切换为leader状态,然后进入广播
- id=1 切换为follower状态,id=3的机器启动,也跟随切换为follower
(如果每个节点是同时启动的,zk同时选举自己 ,同时广播 , 同时获取别人的广播,3机器会当选leader)
2 zk的客户端操作
{ZK_HOME/bin/}zkCli.sh 本地连接
{ZK_HOME/bin/}zkCli.sh -server linux01:2181 连接到指定的服务节点
ls path [watch] 查看子节点
ls2 path [watch] 查看子节点 详细信息
rmr path 删除一个znode节点
get path 查看节点数据
delete path [watch] 删除节点 (只能删除没有子节点的节点)
history 历史记录
set path data [version] 更新数据
create [-s] [-e] path data ac 创建节点
quit 退出客户端 crtl+c