Zookeeper的客户端操作

一、zookeeper客户端的命令解释

linu帮助命令解释

[zk: localhost:2181(CONNECTED) 0] help  帮助命令
ZooKeeper -server host:port cmd args
注意 : 直接执⾏ zkCli.sh 默认连接的是 localhost:2181 本地的 zookeeper 服 务器, 想连接其他的服务器两种⽅式 :zkCli.sh -server master:2181 或者 先通过zkCli.sh 连接到本地的服务器 再使⽤ connect master:2181 stat path [watch] 查看节点的状态信息 , 会⾃动建⽴监听机制 , 监听当前 节点的状态改变, 默认只能监听⼀次
set path data [version]
设置节点的数据, 会⾃动建⽴监听机制 , 监听当前 节点的状态改变 , 默认只能监听⼀次
set path data [version] 设置节点的数据
ls path [watch]
获取路径下的节点信息 , 路径为绝对路径 , 会⾃动建 ⽴监听机制, 监听当前节点的状态改变 , 当我们创建新的⼦节点等活动时可以看到改变 ., 默认只能监听⼀次
例如 : 会显示信息 : 说明我们对 /aa 进⾏了监听 , 发现 aa 下新增了⼦节点等
WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/aa
delquota [-n|-b] path    删除节点配额
ls2 path [watch]    获取路径下的节点详情信息 , 路径为绝对路径 , 会⾃动 建⽴监听机制,监听当前节点的状态改变
setAcl path acl 设置节点 ACL( 授权信息 )
setquota -n|-b val path 设置⼦节点个数和数据⻓度配额
history 列出最近的历史命令
redo cmdno 再次执⾏某命令
如:redo 5 其中 5 是命令的 ID, 需要与 history 配合使⽤
printwatches on|off 设置和显示监视状态
delete path [version] 删除没有⼦节点的节点
sync path 强制同步 由于请求在半数以上的 zk server 上⽣效就表 示此请求⽣效,那么就会有⼀些zk server 上的数据是旧的。 sync 命令就是强制同步 所有的更新操作。
listquota path 显示配额
rmr path 递归删除
get path [watch] 获取节点信息 , 注意节点的路径全部是绝对路径 ( 必须 从/ 开始 ), 会⾃动建⽴监听机制 , 监听当前节点的状态改变 , 注意这⾥只能是 set 操作时 可监听, 默认只能监听⼀次
create [-s] [-e] path data acl
创建节点
         -s 带顺序的节点
         -e 临时节点
addauth scheme auth 节点认证。
addauth digest username:password ,可参⻅ setAcl 命令 digest 处
使⽤⽅法:
        ⼀、通过setAcl 设置⽤户名和密码
                setAcl pathdigest:username:base64(sha1(password)):crwda
        ⼆、认证addauth digest username:password
quit 退出
getAcl path 获取节点 ACL
close 断开客户端与服务器连接
connect host:port 连接 zk 服务器 , close 命令配合使⽤可以连接后者 断开zk 服务器

二、create指令详解

zknode 有四种类型
zookeeper 中的 znode 有多种类型:
        1.PERSISTENT 持久的:创建者就算跟集群断开联系,该类节点也会持久存 在与zk 集群中
        2.EPHEMERAL 短暂的:创建者⼀旦跟集群断开联系,zk 就会将这个节 点删除
        3.SEQUENTIAL 带序号的:这类节点, zk 会⾃动拼接上⼀个序号,⽽ 且序号是递增的
1.持久的带序号的         zkCli.sh         create         -s         /a         ss         默认是持久的,-s代表带序号的
2.短暂的带序号的         zkCli.sh         create         -e         -s         /a         ss 短暂的-e 代表短暂的 ,-s 代表带序号的
注意:在测试短暂类型时,退出当前的客户端,创建的节点会消失。退出客户端⽅ 式:quit
3.持久的不带序号的         zkCli.sh         create         /a         ss         默认是持久的,
4.短暂的不带序号的         zkCli.sh         create         -e /        a         ss         短暂的的

三、get指令详解

[zk: localhost:2181(CONNECTED) 21] get /zookeeper/quota/aa
hehe         节点数据信息
cZxid = 0x800000002         节点创建时的 zxid
ctime = Thu May 09 03:41:15 CST 2019        节点创建的时间
mZxid = 0x800000002         对应节点最近⼀次修改的时间 , 与⼦节点⽆关
mtime = Thu May 09 03:41:15 CST 2019         节点最近⼀次更新的时间
pZxid = 0x800000002         对应节点与⼦节点 ( 或者⼦节点 ) 的修改的时间 , 与孙⼦节点⽆关
cversion = 0         ⼦节点数据更新次数
dataVersion = 0         本节点数据更新次数
aclVersion = 0         节点授权信息 (ACL) 的更新次数
ephemeralOwner = 0x0         如果该节点为临时节点 ,ephemeralOwner 值表示 与该节点绑定的session id. 如果该节点不是临时节点 ,ephemeralOwner 值为 0
dataLength = 4         节点的数据⻓度
numChildren = 0         ⼦节点的个数

四、setAcl指令详解

scheme id
world: 它下⾯只有⼀个 id, anyone, world:anyone 代表任何⼈, zookeeper中对所有⼈有权限的结点就是属于 world:anyone
auth: 它不需要 id, 只要是通过 authentication user 都有权限 zookeeper⽀持通过 kerberos 来进⾏ authencation, 也⽀持 username/password形式的 authentication)
diges t: 它对应的 id username:BASE64(SHA1(password)),它需要先通过 username:password形式的authentication
ip : 它对应的 id 为客户机的 IP 地址,设置的时候可以设置⼀个 ip 段,⽐如 ip:192.168.1.0/16, 表示匹配前 16 bit IP
super : 在这种 scheme 情况下,对应的 id 拥有超级权限,可以做任何事情
(cdrwa)
permissions
CREATE (c): 创建权限,可以在在当前 node 下创建 child node
DELETE (d): 删除权限,可以删除当前的 node
READ (r): 读权限,可以获取当前 node 的数据,可以 list 当前 node 所有的 child
nodes
WRITE (w): 写权限,可以向当前 node 写数据
ADMIN (a): 管理权限,可以设置当前 node permission
综上,⼀个简单使⽤ setAcl 命令,则可以为:
setAcl /zookeeper/node1 world:anyone:cdrw

五、setquota指令详解

ZooKeeper quota 机制⽀持节点个数( znode)和空间⼤⼩(字节数)
setquota  -n  -d
-n 表示设置 znode count限制
-b 表示设置 znode 数据的字节⼤⼩限制
⼀般 -n -b 不能同时设定
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值