zoukankan      html  css  js  c++  java
  • 玩转zookeeper命令

    zkCli 是 zookeeper 原生的与 zk服务群连接的客户端的程序。

    1.如何使用zkCli,sh 连接server 与参数

    2.zkCli 下的增删查改指令 与 配额 quota

    1.如何使用zkCli,sh 连接server 与参数

    可选的参数:

    ./zkCli.sh

    -timeout  以ms作为统计单位

    -r  只读模式, 当半数zk节点down,此时对zk集群不能操作。如果加上这个参数,能连接上集群,对zk集群进行操作(只读)读取数据。

    经测试:集群工作状态正常的时候,也可以加上这个参数连接zookeeper集群。此时可以对zk集群进行操作。

    -server ip:port 连接zookeeper, 用于连接远程的zookeeper.

    一个连接示例:

    zkCli.sh -r -timeout 2000 -server 10.202.4.22:2181 

    一些基础指令:

    退出 zkCli 客户端

    quit

    帮助指令

    h

    2.zkCli 下的增删查改指令 与 配额 quota

    查询 节点与数据

    ls path [watch]

    get path [watch]

    stat path [watch]

    ls2 path [watch]

    ls path [watch] :查询指定路径下的子节点

    示例:

    ls /

    get path [watch] : 查询指定节点中的数据,如果节点中有数据

    示例:

    get /test/username

    stat path [watch] : 查询指定节点的一些描述信息

    示例:

    stat /test

    cZxid = 0x20f //创建的事务id

    ctime = Sat Nov 05 14:46:03 CST 2016  //创建的时间

    mZxid = 0x20f //最后一次修改的事务id

    mtime = Sat Nov 05 14:46:03 CST 2016 //最后一次修改的时间

    pZxid = 0x22e

    cversion = 9 

    dataVersion = 0  //数据的版本,每当数据被修改一次,版本号就会被加1

    aclVersion = 0

    ephemeralOwner = 0x0   // 

    dataLength = 6                            //该节点存储的数据 的数据长度

    numChildren = 3 //该节点下面有几个子节点

    ls2 path [watch] : 相当于 ls 与 stat 指令的合成的效果

    ==============================

    增加 节点与数据

    创建有根路径的节点的时候,要确保上一层的节点要存在,否则会报错

    create [-s] [-e] path data acl

    create [-s] [-e] path data acl

    -s: sequence 模式, 创建后会生成原节点+序列号的节点,再次执行相同命令会产生序列号加1的节点。

    -e: 临时节点与数据, 关闭连接后数据就会被删除。

    data 节点中存放的数据

    acl 控制权限, 具体请参看其他文章

    示例:

     

    先创建节点,在查询节点中的内容。

    create /test2 111 

    get /test2

    -s , 创建序列节点

    create -s /test2/seq 000   执行多次,注意 value 值一定要提供

    ===================

    修改 节点与数据

    set path data [version]

    version : 可选, 默认设置为 stat 该节点的版本, 若强制加上则应设置为stat 该节点查询到的版本,

    否则会报错

    设置数据,注意其中的版本号 与数据变化

    get /test2/node

    set /test2/node 13

    get /test2/node 

    =====================================

    删除 节点与数据

    rmr path

    delete path [version]

    delete path [version] :删除节点,确保该节点下面没有节点否则会报错。

    示例:

    节点下面有节点,不能删除

    delete /test2

    节点下面不存在子节点, 可以删除

    ls /test2

    delete /test2/node

    ls /test2

    rmr path :递归删除该节点  与 该节点的子节点。

    示例:

    rmr /test2

    ==========================

    配额 quota

    配额机制

    zookeeper 的配额机制可以设置两种配额。

    -n  设置子节点的数量,包括其自身。

    -b  节点中数据的长度。

    对于超出配额,系统不会导致插入或者修改不成功,但是会在 zookeeper.out 中生成错误日志。

    增加配额

    setquota -n|-b val path

    -n 设置子节点的配额数量

    -b 设置节点内容的长度

    查询配额

    listquota path

    -1 表示无限, 即没有限制

    删除配额

    delquota [-n|-b] path

    注意配额一旦设置完成,只能删除了重新设置,setquota 不能重置配额

    示例:

    0.tail -f zookeeper.out 跟踪日志

    1.设置配额

    2.查询配额

    3.设置超过配额的数量

    4.查看日志的报错

    指令:

    日志

    ==============================

    其他指令

    历史指令

    history              //显示历史的执行指令

    redo cmdno //重新执行某条指令

    示例:

    连接指令

    connect host:port  //连接到一台远程的zk上

    close

    示例:

    ZK的节点有5种操作权限:
    CREATE、READ、WRITE、DELETE、ADMIN 也就是 增、删、改、查、管理权限,这5种权限简写为crwda(即:每个单词的首字符缩写)
    注:这5种权限中,delete是指对子节点的删除权限,其它4种权限指对自身节点的操作权限

    身份的认证有4种方式:
    world:默认方式,相当于全世界都能访问
    auth:代表已经认证通过的用户(cli中可以通过addauth digest user:pwd 来添加当前上下文中的授权用户)
    digest:即用户名:密码这种方式认证,这也是业务系统中最常用的
    ip:使用Ip地址认证

    设置访问控制:

    方式一:(推荐)
    1)增加一个认证用户
    addauth digest 用户名:密码明文
    eg. addauth digest user1:password1
    2)设置权限
    setAcl /path auth:用户名:密码明文:权限
    eg. setAcl /test auth:user1:password1:cdrwa
    3)查看Acl设置
    getAcl /path

    方式二:
    setAcl /path digest:用户名:密码密文:权限

    注:这里的加密规则是SHA1加密,然后base64编码。

    参考:

    1、http://www.cnblogs.com/yjmyzz/p/zookeeper-acl-demo.html

     2、http://zookeeper.apache.org/doc/r3.1.2/zookeeperProgrammers.html

  • 相关阅读:
    数据分析(3)-matplotlib基础
    zabbix部署-版本3.2.6
    mysql5.6.35源码安装记录
    mysql数据库主从操作记录
    zabbix+docker
    爬与反爬
    爬虫基础 之(一) --- 初识爬虫
    android p 解锁 忽然亮屏后 恢复亮度
    ddr
    ipi
  • 原文地址:https://www.cnblogs.com/sunsky303/p/8631432.html
Copyright © 2011-2022 走看看