zookeeper源码分析说明、命令

单机、集群

Start方法线程、Thread Runable

Znode 临时节点特性:

start Thread>run方法

org.apache.zookeeper.server.quorum.QuorumPeer#startLeaderElection 选举背景知识CAP 一致性协议

WkRequestHeader{protocolVersion=45, lastZxidSeen=0, timeOut=0, sessionId=21474836480000, passwd=[]}

客户端

序列化

OutputArchive和InputArchive分别是Jute底层的序列化器和反序列化器。数据传输结构:

ZAB协议Zk选举流程

选举分5个步骤:

1、初始化leader选举,投票

给自己投票 myid zxid 0

2、每个服务器接受投票

(1 0) (2,0) (3,0) >myid 谁最大谁就是leader 33错了 32

3、处理投票

别的服务器 pk

4、统计投票

过半票数n=n/2+1;

5、服务器状态变更

Leader,其他票数低 f

服务器具有四种状态

LOOKING:寻找Leader状态。当服务器处于该状态时,它会认为当前集群中没有Leader,因此需要进入Leader选举状态。

FOLLOWING:跟随者状态。表明当前服务器角色是Follower。

LEADING:领导者状态。表明当前服务器角色是Leader。

OBSERVING:观察者状态。表明当前服务器角色是Observer。

四字命令

ZooKeeper四字命令功能描述
conf3.3.0版本引入的。打印出服务相关配置的详细信息。
cons3.3.0版本引入的。列出所有连接到这台服务器的客户端全部连接/会话详细信息。包括"接受/发送"的包数量、会话id、操作延迟、最后的操作执行等等信息。
crst3.3.0版本引入的。重置所有连接的连接和会话统计信息。
dump列出那些比较重要的会话和临时节点。这个命令只能在leader节点上有用。
envi打印出服务环境的详细信息。
reqs列出未经处理的请求
ruok测试服务是否处于正确状态。如果确实如此,那么服务返回"imok",否则不做任何相应。
stat输出关于性能和连接的客户端的列表。
srst重置服务器的统计。
srvr3.3.0版本引入的。列出连接服务器的详细信息
wchs3.3.0版本引入的。列出服务器watch的详细信息。
wchc3.3.0版本引入的。通过session列出服务器watch的详细信息,它的输出是一个与watch相关的会话的列表。
wchp3.3.0版本引入的。通过路径列出服务器watch的详细信息。它输出一个与session相关的路径。
mntr3.4.0版本引入的。输出可用于检测集群健康状态的变量列表

使用:echo zk命令|nc ip port

如:echo mntr |nc 192.168.0.31 2181

注意:

Linux中nc命令是一个功能强大的网络工具,全称是netcat
在线安装:yum install -y nc
容灾:N=N/2+1
过半票数n=n/2+1; 选举 ledader 集群

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值