Zookeeper
一、ZooKeeper 是一个针对大型分布式系统的 协调系统;
二、ZooKeeper架构
1、特性:
a. 客户端可以连接到每个server。
b. 每个follower都和leader有连接,接受leader的数据更新操作。
c. Server记录事务日志和快照到持久存储,每个server的数据完全相同。
d. 2n+1个服务允许n个失效。
2、包含角色:
1.领导者(leader),负责进行投票的发起和决议,更新系统状态,写操作;
2.学习者(learner),包括跟随者(follower)和观察者(observer):
a.follower 用于接受客户端读请求,在选主过程中参与投票;
b.observer 可以接受客户端请求,将写请求转发给leader;observer的目的是为了扩展系统,提高写速度。
3. 客户端(client),请求发起方。
三、应用:
Zookeeper集群担负集群终极仲裁者的角色:
a. Spark集群的Master节点;
b. YARN中的ResourceManager节点;
c. HDFS的NameNode节点;
d. HBase中HMaster节点;
以上都是通过Zookeeper集群来协助主备切换。