zookeeper学习笔记

一,什么是zookeeper?

        zookeeper Hadoop 的分布式协调服务框架。

 

它有什么作用呢?它的作用主要是用来维护和监控你存储的数据的状态变化.通过监控这些数据状态的变化,从而可以达到基于数据的集群管理。

     一般可分为下面三个作用场景。

                         作用1 、统一命名服务  

         作用2 、配置管理

         作用 3、集群管理 

 二,zookeeper的工作原理

       1.每个Server在内存中存储了一份数据;

       2.Zookeeper启动时,将从实例中选举一个leaderPaxos协议)

       3.Leader负责处理数据更新等操作

  4.一个更新操作成功,当且仅当大多数Server在内存中成功修改数据。

 三, zookeeper的角色

     1.领导者(leader),负责进行投票的发起和决议,更新系统状态。

      2.学习者(learner),包括跟随者(follower)和观察者(observer),follower用于接收客户端请求并向客户端返回结果,在选领导者过程中参与投票;observer 可以接收客户端的连接,将请求转发给leader,但在选领导者不参与投票,只同步leader的状态,observer的目的是为了扩展系统,提高读取的速度。

      3客户端(client),请求的发起者。

 

 四,每个server在工作是都有三个工作状态:

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

      2,LEADING:当前server即为选举出来的leader。

      3,FOLLOWING:leader已经选举出来,当前server与之同步。

五,zookeeper的集群数目为3,5,7个

       1,leader选举算法采用了Paxos协议

       2,Paxos核心思想:当多数server写数据成功,则任务数据写成功。

       3,奇数能力偶数相同:3台服务器,挂一个可以正常运行;同样的4台,最多页只能挂一个。为了节省服务器的资源,采用奇数个。

六,zookeeper的数据模型(树形结构,类似与文件系统结构)

       1,层次化的目录结构,命名符合常规文件系统规范

        2,每个节点在zookeeper中叫做znode,并且有一个唯一的路径标识,类似与文件的path路径。

        3,节点znode可以包含数据和子节点,但是EPHEMERAL类型的节点不能有子节点。

        4,znode中的数据可以有多个版本,那么查询这个路径下的数据就就需要带上版本

        5,客户端应用可以在节点上设置监视器。

        6,节点不支持部分读写,而是一次性完整毒读写。

七,zookeeper的节点(znode)

         1,znode有四种形式的目录节点

                 PERSISTENT(持久的)

                 EPHEMERAL(短暂的)

                 PERSISTENT_SEQUENTIAL(持久化顺序编号目录节点)

                 EPHEMERAL_SEQUENTIAL暂时化顺序编号目录节点)

         2,znode的类型在创建是确定不能再修改

         3, 短暂的znode在客户端会话结束时被zookeeper删除,短暂的znode不可以有子节点。

   4,持久的znode不依赖与客户端会话,只有客户端明确要删除该持久znode时才会被删除。

 

posted @ 2018-09-28 10:57  薄点  阅读(86)  评论(0编辑  收藏  举报