ZooKeeper总结学习 第三课 -Zookeeper命令操作

     一、命令

       ZooKeeper 支持某些特定的四字命令字母与其的交互。它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在可以通过 telnet 或 nc 向 ZooKeeper 提交相应的命令。 

   ZooKeeper 四字命令                                                                命令描述
              conf                                             输出相关服务配置的详细信息。
              cons      列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息。包括“接受 / 发送”的包数量、会话 id 、操作延迟、最后的操作执行等等信息。
            dump                                             列出未经处理的会话和临时节点。
             envi                                输出关于服务环境的详细信息(区别于 conf 命令)。
                reqs                                        列出未经处理的请求
               ruok            测试服务是否处于正确状态。如果确实如此,那么服务返回“imok ”,否则不做任何相应。
              stat                                          输出关于性能和连接的客户端的列表。
               wchs                                         列出服务器 watch 的详细信息。
             wchc            通过 session 列出服务器 watch 的详细信息,它的输出是一个与watch 相关的会话的列表。
             wchp               通过路径列出服务器 watch 的详细信息。它输出一个与 session相关的路径。

 

 

二、Zookeeper的简单操作

2.1  Zookeeper的shell操作

2.1.1 Zookeeper命令工具

再启动Zookeeper服务之后,输入以下命令,连接到Zookeeper服务: zkCli.sh -server ip:2181

  1、客户点连接  zkCli.sh -server localhost:2181 下图表示连接成功

(1) 使用ls命令查看当前Zookeeper中所包含的内容:ls /

(2) 创建一个新的Znode节点"zk",以及和它相关字符,执行命令:create /zk "my first zk",默认是不带编号的

    创建带编号的持久性节点(-s)"zkbb",create -s /zkbb "zkbb" :

    

  创建不带编号的临时节点(-e)"cc" :  create -e /cc "cc"

  创建带编号的临时节点"dd" : create -s -e /dd "dd"

再次使用ls命令来查看现在Zookeeper的中所包含的内容:ls /

(4) 使用get命令来确认第二步中所创建的Znode是否包含我们创建的字符串,执行命令:get /zk

(5) 接下来通过set命令来对zk所关联的字符串进行设置,执行命令:set /zk "haha123"

(6) 再次使用get命令来查看,上次修改的内容,执行命令:get /zk

(7) 下面我们将刚才创建的Znode删除,执行命令:delete /zkbb0000000002

(9) 退出,执行命令:quit

 

查看一个文件的状态信息 : stat  /zk

   

详细解释:

zxid: 一个事务编号,zookeeper集群内部的所有事务,都有一个全局的唯一的顺序的编号

  它由两部分组成: 就是一个 64位的长整型 long

  高32位: 用来标识leader关系是否改变,如   0x2  

 

  低32位: 用来做当前这个leader领导期间的全局的递增的事务编号,如    00000009

 

状态属性说明
cZxid 数据节点创建时的事务ID
ctime 数据节点创建时的时间
mZxid 数据节点最后一次更新时的事务ID
mtime 数据节点最后一次更新时的时间
pZxid 数据节点的子节点列表最后一次被修改(是子节点列表变更,而不是子节点内容变更)时的事务ID
cversion 子节点的版本号
dataVersion 数据节点的版本号
aclVersion 数据节点的ACL版本号 
ephemeralOwner  如果节点是临时节点,则表示创建该节点的会话的SessionID;如果节点是持久节点,则该属性值为0
dataLength 数据内容的长度
numChildren 数据节点当前的子节点个数

 

 

 

 

 

 

 

 

 

 

 

 

(1)修改节点zk的数据,mZxid、dataVersion、dataLength 存储信息发生变化

(2)创建新的节点b,状态信息都会发生变化,zxid的事物ID也会增加

(3)在a节点下面新增节点c,pZxid、cversion、numChildren 发生改变

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值