zoukankan      html  css  js  c++  java
  • Zookeeper之入门(原理、基础知识)

    Zookeeper介绍

    Zookeeper是分布式应用程序的协调服务框架,是Hadoop的重要组件。ZK要解决的问题:

    1.分布式环境下的数据一致性。

    2.分布式环境下的统一命名服务

    3.分布式环境下的配置管理

    4.分布式环境下的分布式锁

    5.集群管理问题

     Zookeeper指令与数据结构

    Zk数据结构

    1.       ZK有一个最开始的节点

    2.       ZK的节点叫做znode节点

    3.       每个znode节点都可存储数据

    4.       每个znode节点都可创建自己的子节点

    5.       多个znode节点共同形成了znode

    6.       Znode树的维系实在内存中,目的是供用户快速的查询

    7.       每个znode节点都是一个路径(通过路径来定位这个节点)

    8.       每个路径名都是唯一的。

     

    ZK指令

    指令

    示例

    ls查看指令

    ls /

    create创建节点指令,注意,在创建节点时,要分配初始数据。

    create /zk01

     hello

    create /zk02 ‘’

    get查看节点数据指令

    hello  数据

    cZxid = 0x2

    ctime = Mon May 15 05:58:32 PDT 2017创建节点的时间戳

    mZxid = 0x2

    mtime = Mon May 15 05:58:32 PDT 2017修改此节点数据的最新时间戳

    pZxid = 0x2

    cversion = 0

    dataVersion = 0数据版本号,每当数据发生编号,版本号递增1

    aclVersion = 0

    ephemeralOwner = 0x0

    dataLength = 5数据大小

    numChildren = 0子节点个数

    get /zk01

    set更新节点数据指令(执行后mtimedataVersion可定会放生变化,dataLength可能会变化)

    set /zk01 hellozk

    delete删除节点

    delete /zk01

    create指令补充:

    1.       创建子节点

    2.       Zk节点分四种类型:分别是:

    普通持久节点:

    普通临时节点:创建此临时节点的客户端失去和zk连接后,此节点消失.zk是通过临时节点监控哪个服务器挂掉的。

     

    顺序持久节点:会根据用户指定的节点路径,自动分配一个递增的顺序号。(顺序节点实现分布式锁的效果,服务器1抢到zk05分配zk050001,服务器2抢到zk05分配zk050002

    顺序临时节点:

    1.       create /zk01/node01 hello

    2.        

    2.1create /zk01 hello

    2.2. create –e /zk02 abc
    2.3.create –s /zk03 abc

    2.4.create –s -e /zk05 abcd

    zk050000000003

    再创建一个就是:

    zk050000000004

  • 相关阅读:
    [哈希][倍增] Jzoj P5856 01串
    [exgcd] Jzoj P5855 吃蛋糕
    [折半搜索][分治][二分] Jzoj P5851 f
    [lca][主席树] Jzoj P5850 e
    [二分][树状数组] Jzoj P5849 d
    [容斥] Jzoj P5843 b
    [前缀和][枚举] Jzoj P5842 a
    [平衡规划][模拟][前缀和] Jzoj P4724 斐波那契
    [spfa] Jzoj P4722 跳楼机
    [模拟] Jzoj P2499 东风谷早苗
  • 原文地址:https://www.cnblogs.com/XiOrang/p/9643758.html
Copyright © 2011-2022 走看看