zookeeper 进入客户端 | 您所在的位置:网站首页 › 登录zk客户端 › zookeeper 进入客户端 |
今天同事突然向看一下zookeeper中都创建了哪些节点,而我本人对zookeeper的客服端命令了解的很少,有些操作竟然不知道怎么用,于是乎就索性整理一下zookeeper客服端命令的使用,并再此记录一下。 想要用zkClient链接zookeeper,首先执行如下命令,连接到zookeeper server ./zkCli.sh -server localhost:2181 help命令 help命令用于查询客服端所支持的所用的命令,执行help,输入如下: ZooKeeper -server host:port cmd args stat path [watch] set path data [version] ls path [watch] delquota [-n|-b] path ls2 path [watch] setAcl path acl setquota-n|-b val path history redo cmdno printwatches on|off delete path [version] sync path listquota path get path [watch] create [-s] [-e] path data acl addauth scheme auth quit getAcl path close connect host:port connect命令 连接zk服务端,与close命令配合使用可以连接或者断开zk服务端 connect 127.0.0.1:2181 close命令 close命令用于关闭与服务端的链接 get命令 get命令用于获取节点的信息,注意节点的路径必须是以/开头的绝对路径。如get / cZxid = 0x0ctime= Thu Jan 01 08:00:00 CST 1970mZxid= 0x0mtime= Thu Jan 01 08:00:00 CST 1970pZxid= 0x1469cversion= 3dataVersion= 0aclVersion= 0ephemeralOwner= 0x0dataLength= 0numChildren= 4 其中: cZxid:节点创建时的zxid ctime:节点创建时间 mZxid:节点最近一次更新时的zxid mtime:节点最近一次更新的时间 cversion:子节点数据更新次数 dataVersion:本节点数据更新次数 aclVersion:节点ACL(授权信息)的更新次数 ephemeralOwner:如果该节点为临时节点,ephemeralOwner值表示与该节点绑定的session id. 如果该节点不是临时节点,ephemeralOwner值为0 dataLength:节点数据长度,本例中为hello world的长度 numChildren:子节点个数 stat命令 stat命令用于查看节点的状态信息,如stat / cZxid = 0x0ctime= Thu Jan 01 08:00:00 CST 1970mZxid= 0x0mtime= Thu Jan 01 08:00:00 CST 1970pZxid= 0x1469cversion= 3dataVersion= 0aclVersion= 0ephemeralOwner= 0x0dataLength= 0numChildren= 4 该命令的结果参数说明同get命令 set命令 set命令用于设置节点的数据,如: set /usergrid hellUsergrid ls命令 ls命令用于获取路径下的节点信息,注意路径为绝对路径,如:ls /storm [assignments, storms, errors, supervisors, workerbeats] ls2命令 ls2命令是ls命令的增强版,比ls命令多输出本节点信息,如:ls2 /storm [assignments, storms, errors, supervisors, workerbeats] cZxid= 0x1469ctime= Tue Nov 14 11:32:09 CST 2017mZxid= 0x1469mtime= Tue Nov 14 11:32:09 CST 2017pZxid= 0x1470cversion= 5dataVersion= 0aclVersion= 0ephemeralOwner= 0x0dataLength= 1numChildren= 5 listquota命令 listquota命令用于显示配额,如listquota /storm absolute path is /zookeeper/quota/storm/zookeeper_limits quotafor /storm does not exist. setquota命令 setquota命令用于设置节点个数以及数据长度的配额,如: setquota –n 4 /zookeeper/node 设置/zookeeper/node子节点个数最大为4 setquota –b 100 /zookeeper/node 设置/zookeeper/node节点长度最大为100 delquota命令 delquota命令用于删除配额,-n为子节点个数,-b为节点数据长度,如:delquota –n 2 history命令 history用于列出最近的命令历史,可以和redo配合使用。如history 12 - get /usergrid13 -help14 - ls / 15 - ls /storm16 - ls2 /storm17 -help18 - listquota /storm19 - listquota /zookeeper20 -help21 -history22 - history redo命令 redo命令用于再次执行某个命令,使用方式为redo cmdid 如 redo 20 常与history配合使用 create命令 create命令用于创建节点,其中-s为顺序充点,-e临时节点 create /zookeeper/node1"test_create" world:anyone:fdsfds delete命令 delete命令用于删除节点,如delete /nodeDelete addauth命令 addauth命令用于节点认证,使用方式:如addauth digest username:password setAcl命令 setAcl命令用于设置节点Acl Acl由三部分构成:1为scheme,2为user,3为permission,一般情况下表示为scheme:id:permissions getAcl命令 获取节点的Acl,如getAcl /node1 scheme和id world: 它下面只有一个id, 叫anyone, world:anyone代表任何人,zookeeper中对所有人有权限的结点就是属于world:anyone的 auth: 它不需要id, 只要是通过authentication的user都有权限(zookeeper支持通过kerberos来进行authencation, 也支持username/password形式的authentication) digest: 它对应的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 sync命令 sync命令用于强制同步,由于请求在半数以上的zk server上生效就表示此请求生效,那么就会有一些zk server上的数据是旧的。sync命令就是强制同步所有的更新操作。 printwatchers命令 printWatchers命令用于设置和显示监视状态,值为on或则off quit命令 退出客户端 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |