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 不能同时设定


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部