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
  • 相关阅读:
    单例模式
    Curator Zookeeper分布式锁
    LruCache算法原理及实现
    lombok 简化java代码注解
    Oracle客户端工具出现“Cannot access NLS data files or invalid environment specified”错误的解决办法
    解决mysql Table ‘xxx’ is marked as crashed and should be repaired的问题。
    Redis 3.0 Cluster集群配置
    分布式锁的三种实现方式
    maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令
    How to Use Convolutional Neural Networks for Time Series Classification
  • 原文地址:https://www.cnblogs.com/yandufeng/p/6365447.html
Copyright © 2011-2022 走看看