1.3 Zookeeper
1.3.1 常用命令
ls、get、create、delete、deleteall
1.3.2 选举机制
半数机制(过半机制):2n + 1,安装奇数台。
10台服务器:3台。
20台服务器:5台。
100台服务器:11台。
台数多,好处:提高可靠性;坏处:影响通信延时。
1.3.3 Paxos算法和ZAB协议
1)Paxos算法
Paxos算法:一种基于消息传递且具有高度容错特性的一致性算法。
Paxos算法解决的问题:就是如何快速正确的在一个分布式系统中对某个数据值达成一致,并且保证不论发生任何异常,都不会破坏整个系统的一致性。
Paxos算法缺陷:在网络复杂的情况下,一个应用Paxos算法的分布式系统,可能很久无法收敛,甚至陷入活锁的情况。
2)Zab协议
Zab借鉴了Paxos算法,是特别为Zookeeper设计的支持崩溃恢复的原子广播协议。基于该协议,Zookeeper设计为只有一台客户端(Leader)负责处理外部的写事务请求,然后Leader客户端将数据同步到其他Follower节点。即Zookeeper只有一个Leader可以发起提案。
注意:暂时先不用看。如果后期准备面今日头条,需要认真准备,其他公司几乎都不问。
关注尚硅谷教育公众号回复大数据。 找Zookeeper视频。
1.3.4 Zookeeper符合法则中哪两个?
1.3.5 Zookeeper脑裂
Zookeeper采用过半选举机制,防止了脑裂。
1.3.6 Zookeeper用来干嘛了
(1)作为HA的协调者:如 HDFS的HA、YARN的HA。
(2)被组件依赖:如Kafka、HBase、CK。