ZOOKEEPER的简单了解--大数据纪录片第六记

  之前在HBase中涉及到了zookeeper,今天就简单了解一下zookeeper的一些功能和基础的工作原理。

  一、zookeeper是一个分布式的、开源的分布式应用程序协调服务,用于管理大型主机。现在zookeeper成为了hadoop和HBase和其他分布式框架使用的有组织服务的标准。例如,HBase用zookeeper跟踪分布式数据的状态。zookeeper主要提供了以下服务:

    (1)命名服务:按名称标识集群的节点

    (2)配置管理:加入节点的最新和最近的系统配置信息

    (3)集群管理:是否有机器退出或加入、选举master

    (4)选举算法:选举一个节点作为协调目的都leader

    (5)锁定和同步服务:在修改数据的同时锁定数据。此机制有助于你在连接其他分布式应用程序(如:HBase)时进行自动故障恢复

    (6)高度可靠的数据注册表:即使在一个节点或多个节点关闭的情况下也可以获得数据

  二、zookeeper角色描述:

    (1)leader:leader负责进行投票的发起和决议,更新系统状态

    (2)learner:learner分为两种:

        ①follower:follower用于接收客户端请求并向客户端返回结果,在选举过程中参与投票

        ②observer:observer可以接收客户端连接,将写请求转发给leader节点。但observer不参与投票过程,只同步leader的状态。observer存在的目的是为了扩展系统,提高读写效率

    (3)client:请求发起方

  三、zookeeper的工作原理

    zookeeper的核心是原子广播。这个机制保证了各个server之间的同步。实现这个机制的协议叫做Zab协议。Zab协议分为两种:恢复(选主)模式和广播模式(同步)。当服务启动或者leader崩溃后,Zab就进入恢复模式,当领导被选举出来,且大多数server完成了和leader同步之后,恢复模式就结束了。状态同步保证了leader和server之间有相同的系统状态。

  四、leader的工作状态

    leader的工作状态分为三种:

      ①LOOKING:当前server不知道leader是谁,正在搜寻

      ②LEADING:当前server就是被选举出来的leader

      ③FOLLOWING:leader已经选举出来,当前server与它进行同步

  目前能了解到的就这些,日后的学习中如果有更多的东西将会再添加进来。

 

posted @ 2018-10-29 16:47  我就想写写试试看  阅读(187)  评论(0)    收藏  举报