zoukankan      html  css  js  c++  java
  • 研究Zookeeper的原理(一)

     阅读声明:以下内容是结合网上材料所写个人理解,如有不当,欢迎大家指正~~~谢谢

    一、Zookeeper介绍

      zookeeper,见名知意嘛,zoo动物园,keeper保持者、管理员,结合起来就是动物管理员,为什么这么说呢?不放大家可以看一看目前大数据技术:比如Hadoop的logo是一个黄色的大象、HBase的log像是一个鲸鱼、Hive的logo就比较奇特了,是蜜蜂的身体与Hadoop大象的象头的结合体,等等等。由此我们看来大数据技术就像是一个动物园,而zookeeper就像是一个动物园的管理员,它的logo就更表明了它的含义。

      说了那么多闲话,下面开始进入正题,看Apache官网给它的定义:

      ZooKeeper是一个分布式的协调服务框架,ZooKeeper可以解决分布式中常见的问题:集群管理、统一命名服务、信息配置管理、分布式锁等。

    二、ZooKeeper的基本概念

      学好一门技术,首先我们得对这门技术的原理特别清楚,下面我们进入ZooKpper的结构,如下

      

      1)ZooKeeper中只有一个根节点/,每个节点都可以拥有子节点,每个节点称为zNode节点,同时也可以存储数据。

      2)多个节点形成zNode树,存储父子之间关系及节点信息

      3)zNode树是维系在内存中,以供快速查询及快速响应

      4)  操作节点:都是相对于根节点来说,例如ls /zk_1

      5)节点类型:

          ①普通持久节点:create  /test01  123(当创建此节点的客户端线程挂掉后,该节点依然存储)

          ②普通临时节点:create -e /test01  123(当创建此节点的客户端线程挂掉后,该节点会被删除)

          ③顺序持久节点:create -s /test01  123(顺序指的是在指定的路径下拼上一个递增的顺序号)

          ④临时持久节点:create -e -s  /test01  123(当创建此节点的客户端线程挂掉后,该节点会被删除,顺序指的是在指定的路径下拼上一个递增的顺序号)

      这里额外说明,临时节点的作用:管理集群服务的节点。

      

    三、ZooKeeper的常用命令

    服务端的常用命令

         

    客户端的常用命令

        

    四、Zookeeper的应用场景

    ①集群管理

      

    ②集群统一的配置信息管理

      

    ③ZooKeeper应用于集群Master的监控以及主备切换

      

    ④ZooKeeper应用于集群中统一的命名

      

    ⑤ZooKeeper应用于分布式锁

      (这里我的理解不够深,下次补充Redis应用于分布式锁)

  • 相关阅读:
    Quartz
    WebService
    JavaMail
    安装phpnow服务[Apache_pn]提示失败的解决方法
    idea安装激活
    csdn下载
    java解析json串常识
    Oracle错误——ORA-03113:通信通道的文件结尾
    SSM(Maven集成)
    SpringMVC的拦截器
  • 原文地址:https://www.cnblogs.com/rmxd/p/11294532.html
Copyright © 2011-2022 走看看