zoukankan      html  css  js  c++  java
  • ZooKeeper常用命令

      1. 在ZooKeeper ensemble中怎么查找Leader
        这里提供两种方法
        一种是在每个node上执行下面的命令看看哪个node是下面的输出
        # grep LEAD /var/log/zookeeper/zookeeper-zookeeper-server-xyz.out
        2016-02-29 22:33:47,113 - INFO  [QuorumPeer[myid=3]/0:0:0:0:0:0:0:0:2181:QuorumPeer@829] - LEADING
        2016-02-29 22:33:47,114 - INFO  [QuorumPeer[myid=3]/0:0:0:0:0:0:0:0:2181:Leader@358] - LEADING - LEADER ELECTION TOOK - 9066

        另一种方法是在每个node上使用nc命令

        # echo stat | nc localhost 2181 | grep Mode
        Mode: leader
        
        # echo stat | nc localhost 2181 | grep Mode
        Mode: follower
      2. 创建一个名叫znode_test的znode,数据是znode_test_data
        [zk: localhost:2181(CONNECTED) 0] ls /
        [zookeeper]
        [zk: localhost:2181(CONNECTED) 1] create /znode_test znode_test_data
        Created /znode_test
        [zk: localhost:2181(CONNECTED) 2] get /newznode
        znode_test_data
        cZxid = 0x200000002
        ctime = Wed Oct 14 05:19:00 EDT 2015
        mZxid = 0x200000002
        mtime = Wed Oct 14 05:19:00 EDT 2015
        pZxid = 0x200000009
        cversion = 1
        dataVersion = 0
        aclVersion = 0
        ephemeralOwner = 0x0
        dataLength = 6
        numChildren = 1
      3. 创建一个递归的名叫znode_rtest3的znode,数据为znode_rtest_data
        [zk: localhost:2181(CONNECTED) 3] ls /
        [zookeeper, znode_test]
        [zk: localhost:2181(CONNECTED) 4] create /znode_rtest1/znode_rtest2/znode_rtest3 znode_rtest_data3
        Node does not exist: /znode_rtest1/znode_rtest2/znode_rtest3
        [zk: localhost:2181(CONNECTED) 5] create /znode_rtest1 znode_rtest_data1
        Created /znode_rtest1
        [zk: localhost:2181(CONNECTED) 6] create /znode_rtest1/znode_rtest2/znode_rtest3 znode_rtest_data3
        Node does not exist: /znode_rtest1/znode_rtest2/znode_rtest3
        [zk: localhost:2181(CONNECTED) 7] create /znode_rtest1/znode_rtest2 znode_rtest_data2
        Created /znode_rtest1/znode_rtest2
        [zk: localhost:2181(CONNECTED) 8] create /znode_rtest1/znode_rtest2/znode_rtest3 znode_rtest_data3
        Created /znode_rtest1/znode_rtest2/znode_rtest3 
      4. 删除一个Znode
        delete /<znode>

         如果想要删除一个child znode

        delete /<parent_znode>/<child_znode

        递归删除znode(小心使用该命令)

        rmr /<znode-with-child>
      5. 读取Znode数据
        如果你想要读取某个znode的数据,你必须要拥有该znode的R权限(注意是不是拥有ACL的配置)
        get /<znode-name>
      6. 重写Znode数据
        你必须在拥有这个znode的W权限(注意是不是拥有ACL的配置)
        set /<znode-name> <new-data>
      7. 查看某个znode的权限
        [zk: localhost:2181(CONNECTED) 27] getAcl /yandufeng_test
        'world,'anyone
        : cdrwa
      8. World Schema
        World schema有一个ID(anyone),代表世界上的所有用户,例如,输入下面的命令来使任何用户可以访问那个znode
        setAcl /newznode world:anyone:crdwa
      9. Auth Schema
        当你使用Auth Schema的时候,你必须提供ID,否则将会报错,下面是错误的例子
        [zk: localhost:2181(CONNECTED) 36] setAcl /yandufeng_test auth:crdwa
        auth:crdwa does not have the form scheme:id:perm
        Acl is not valid : /yandufeng_test

         正确的形式应该是

        setAcl /newznode auth:username:password:crdwa
  • 相关阅读:
    奇 arch/i386/kernel/head.o(.text+0x3e): undefined reference to `stack_start'
    惊爆:当Python代码遇到zip解压炸弹,未做防护的你后悔莫及!
    肝了1个月,做了10个Python可视化动图,有需要的自己拿
    抖音超火的九宫格视频是如何生成的,Python 告诉你答案
    找出文件夹中的相同文件,并移动到指定文件夹中
    8行Python代码绘制疫情地图
    怎么将python项目打包成exe程序?
    利用Pycharm + Django搭建一个简单Python Web项目
    转行Python会经历的几个学习阶段!未来有哪些就业方向?
    一个python脚本就可以B站查找弹幕发送者!
  • 原文地址:https://www.cnblogs.com/yandufeng/p/6365447.html
Copyright © 2011-2022 走看看