• 4 zk客户端相关命令 Sky


    zk客户端相关命令
    
    进入客户端:
    ./bin/zkCli.sh
    1 ls:显示根目录下、文件: ls /使用ls命令来查看当前ZooKeeper中所包含的内容
    [zk: localhost:2181(CONNECTED) 1] ls /
    [zookeeper, hadoop-ha]
    
    2 ls2:类似ls并能看到更新次数等数据
    [zk: localhost:2181(CONNECTED) 10] ls2 /test
    []
    cZxid = 0x800000009
    ctime = Sat Jan 08 16:38:33 CST 2022
    mZxid = 0x800000009
    mtime = Sat Jan 08 16:38:33 CST 2022
    pZxid = 0x800000009
    cversion = 0
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 4
    numChildren = 0
    
    3 create:创建文件,并设置初始内容:
    语法:create [-s] [-e] path data acl
    
    path用于指定节点的路径
    ;data指定需要存放的数据(状态信息)
    创建一个新的znode节点“test”以及与它关联的字符串
    create /test "test content" 
    
    create /test/st1 "t1"
    
    4 get:获取文件内容:
    确认znode是否包含我们所创建的字符串
    get /test 
    2022
    cZxid = 0x800000009
    ctime = Sat Jan 08 16:38:33 CST 2022
    mZxid = 0x800000009
    mtime = Sat Jan 08 16:38:33 CST 2022
    pZxid = 0x800000009
    cversion = 0
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 4
    numChildren = 0
    注:
    第一行是我们存放的数据(2022)
    cZxid 节点创建时的zxid
    ctime 节点创建时间戳
    mzxid 节点最新一次更新发生时的zxid.
    mtime 节点最新一次更新发生时的时间戳.
    dataVersion 节点数据的更新次数.
    cversion 其子节点的更新次数.
    aclVersion 节点ACL(授权信息)的更新次数.
    ephemeralOwner 如果该节点为ephemeral节点, ephemeralOwner值表示与该节点绑定的session id. 如果该节点不是ephemeral节点, ephemeralOwner值为0. 至于什么是ephemeral节点, 请看后面的讲述.
    dataLength 节点数据的字节数.
    numChildren 子节点个数.
    
    get /test watch
    当在其它客户端修改test时,则会字段收到通知
    WatchedEvent state:SyncConnected type:NodeDataChanged path:/test
    
    get /test/st1
    
    zxid:
    znode节点的状态信息中包含czxid和mzxid, 那么什么是zxid呢?
    ZooKeeper状态的每一次改变, 都对应着一个递增的Transaction id, 该id称为zxid. 由于zxid的递增性质, 如果zxid1小于zxid2, 那么zxid1肯定先于zxid2发生. 创建任意节点, 或者更新任意节点的数据, 或者删除任意节点, 都会导致Zookeeper状态发生改变, 从而导致zxid的值增加.
    
    session:
    在client和server通信之前, 首先需要建立连接, 该连接称为session. 连接建立后, 如果发生连接超时, 授权失败, 或者显式关闭连接, 连接便处于CLOSED状态, 此时session结束.
    
    5 set:修改文件内容:
    对zk 所关联的字符串进行设置
    set /test "testbak" 
    
    6 delete:删除文件: 
    delete /test 将刚才创建的znode删除
    若/test下还有文件,则无法删除
    
    ZooKeeper节点类型
    persistent:persistent节点不和特定的session绑定,不会随着创建该节点的session的结束而消失, 而是一直存在, 除非该节点被显式删除.
    
    ephemeral:ephemeral节点是临时性的, 如果创建该节点的session结束了, 该节点就会被自动删除. ephemeral节点不能拥有子节点. 虽然ephemeral节点与创建它的session绑定, 但只要该该节点没有被删除, 其他session就可以读写该节点中关联的数据. 使用-e参数指定创建ephemeral节点.
    
    
    
    create -e /test2 aaaaa
    sequence:严格的说,sequence并非节点类型中的一种。sequence节点既可以是ephemeral的,也可以是persistent的。创建sequence节点时, ZooKeeper server会在指定的节点名称后加上一个数字序列, 该数字序列是递增的.。因此可以多次创建相同的sequence节点, 而得到不同的节点。使用-s参数指定创建sequence节点.
    create -e /test2 aaaaa
    
    7 查看节点状态(stat)
    stat /zookeeper
    cZxid = 0x0
    ctime = Thu Jan 01 08:00:00 CST 1970
    mZxid = 0x0
    mtime = Thu Jan 01 08:00:00 CST 1970
    pZxid = 0x0
    cversion = 0
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 0
    numChildren = 1
  • 相关阅读:
    微软的操作系统中让 32 位支持大于 4GB 的内存。
    windows CMD.exe下写路径太长的解决方案
    自定义高级QFileDialog文件过滤器
    windows下查看端口占用情况
    python编程之处理GB级的大型文件
    VisualStudio下如何编译和使用最新版本的OpenCV(修正版)
    第一章
    前言:
    《学习OpenCV3》目录和全书划分
    实际比较filter2D和imfilter之间的关系
  • 原文地址:https://www.cnblogs.com/skyzy/p/16874568.html
Copyright © 2020-2023  润新知