zoukankan      html  css  js  c++  java
  • Zookeeper 学习(三) zookeeper的shell操作

    一,Zookeeper链接

      1.1 普通链接

      1.2 带参数链接

    二,使用Zookeeper命令的简单操作步骤

      2.1 查看子节点(ls)

      2.2 创建节点(create)

      2.3 修改节点(set)

      2.4 查看节点数据(get)

      2.5 删除节点(rmr)

      2.6 监听节点(watch)

    三,节点类型

      3.1 临时节点

      3.2 永久节点

      3.3 带序号节点

    正文

    一,Zookeeper链接

      链接zookeeper的API有常用的两种,一种是命令行客户端,而另一种是Java客户端,在这将会对命令行客户端的链接进行讲解。在zookeeper的bin目录中有客户端的可执行文件zkCli.sh用来作为命令行客户端连接,如下图:

      

      1.1 普通链接

       这里的普通链接是指,连接本机的zookeeper服务,链接命令:

    zkCli.sh

       下图是个链接实例:

      

      1.2 带参数链接

       带参数链接比普通链接多个参数,是链接到非本机服务端,链接命令:

    zkCli.sh -server hd2

    二,zookeeper常用命令

      2.1 查看子节点(ls)

    // 命令 查看的节点路径(绝对路径) 是否监听
    ls path watch
    [zk: localhost:2181(CONNECTED) 1] ls /
    [zookeeper]

      如实例:

      

      

      2.2 创建节点(create)

    // 命令 (节点类型) 节点路径 数据
    create [-s] [-e] path data
    [zk: localhost:2181(CONNECTED) 2] create /a "hellow world"
    Created /a

      如下实例:

      (1),普通永久节点

      

      (2),临时节点

      

      (3),带序号节点

      

      2.3 查看节点数据(get)

    // 命令 节点路径 是否watch
    get path [watch]
    [zk: localhost:2181(CONNECTED) 4] get /a
    hellow world
    cZxid = 0x5000000006
    ctime = Wed Mar 21 20:01:02 CST 2019
    mZxid =  0x5000000006
    mtime = Wed Mar 21 20:01:02 CST 2019
    pZxid =  0x5000000006
    cversion = 0
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 11
    numChildren = 0
    [zk: localhost:2181(CONNECTED) 5] 

       如下图示例:

       

       

      2.4 修改节点(set)

    // 命令 节点路径 数据
    set path data
    [zk: localhost:2181(CONNECTED) 6] set /a "watch data"
    cZxid = 0x100000002
    ctime = Wed Mar 21 20:01:02 CST 2019
    mZxid = 0x100000004
    mtime = Wed Mar 21 20:04:10 CST 2019
    pZxid = 0x100000002
    cversion = 0
    dataVersion = 1
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 7
    numChildren = 0
    [zk: localhost:2181(CONNECTED) 7] 

      如下示例:

      

      

      2.5 删除节点(rmr)

    // 命令 路径
    rmr path
    [zk: localhost:2181(CONNECTED) 6] rmr /a/b
    [zk: localhost:2181(CONNECTED) 6] ls /a
    []

       如下示例:

       

      2.6 监听节点(watch)

       

    // 命令 节点路径 watch
    get path watch
    [zk :locahhost:2181(CONNECTED) 36] get /a watch
    hellow world
    cZxid = 0x50000000006
    cTime = Mon May 13 10:52:38 EDT 2019
    mZxid = 0x50000000006
    mTime = Mon May 13 10:52:38 EDT 2019
    pZxid = 0x5000000000e
    cversion = 7
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 12
    numChildren = 3

      上述代码是开启节点监听,当有别的客户端修改了节点/a的数据,改服务端就一会接到消息:如下

      另一客户端修改:

      

      修改后监听后的情况:

      

      下面是另一种节点监听:(监听的是子节点是否有增加或删除)

      

      修改的客户端:

      

    三,节点类型

      3.1 临时节点

       创建者一旦跟集群断开联系,zk就会将这个节点删除

      3.2 永久节点

       创建者就算跟集群断开联系,该类节点也会持久存在与zk集群中

      3.3 带序号节点

       这类节点,zk会自动拼接上一个序号,而且序号是递增的

       综上有以下组合类型,在创建的时候配置不同带参数即可:  

      PERSISTENT  :持久不带序号

      EPHEMERAL  :短暂不带序号

      PERSISTENT  SEQUENTIAL   :持久且带序号

      EPHEMERAL  SEQUENTIAL  :短暂且带序号

  • 相关阅读:
    kubernetes(八)--Helm及其它功能组件dashboard/prometheus/HPA
    kubernetes(七)--安全机制
    kubernetes(六)--集群调度
    kubernetes(五)--存储之configmap/secret/volume/PV&&PVC
    Unicode规范中的BOM 和 ISO8891-1编码
    设计模式
    vue等诸多概念记录
    Linux下nc或scp命令来实现文件传输
    日常相关的标准技术和组织
    ibatis和mybatis中的BatchExecutor
  • 原文地址:https://www.cnblogs.com/tashanzhishi/p/10856185.html
Copyright © 2011-2022 走看看