• 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
  • 相关阅读:
    Access使用记录
    html js 表单提交前检测数据
    asp.net mvc5 action多个参数
    asp.net mvc Areas 母版页动态获取数据进行渲染
    asp.net mvc 自定义全局过滤器 验证用户是否登录
    .net 报错汇总——持续更新
    数据库基础
    Python协程
    Python 线程
    Python 队列
  • 原文地址:https://www.cnblogs.com/yandufeng/p/6365447.html
Copyright © 2020-2023  润新知