本文为原创文章,转载请注明出处,谢谢
zookeeper自带脚本使用
1、进入zookeeper客户端
找到安装目录下的bin目录,执行以下脚本(中括号标示被必填)
./zkCli.sh -timeout 5000 [-r] -server 127.0.0.1:2181 (-r指服务器挂掉仍可提供读服务)
进入上图所示命令行,则进入成功
2、相关命令
- ls +path :和linux的命令相似
-
stat + path:查看节点详情信息
-
- czxid. 节点创建时的zxid.
- mzxid. 节点最新一次更新发生时的zxid.
- ctime. 节点创建时的时间戳.
- mtime. 节点最新一次更新发生时的时间戳.
- dataVersion. 节点数据的更新次数.
- cversion. 其子节点的更新次数.
- aclVersion. 节点ACL(授权信息)的更新次数.
- ephemeralOwner. 如果该节点为ephemeral节点, ephemeralOwner值表示与该节点绑定的session id. 如果该节点不是ephemeral节点, ephemeralOwner值为0. 至于什么是ephemeral节点, 请看后面的讲述.
- dataLength. 节点数据的字节数.
- numChildren. 子节点个数.
- get + path :查看节点数据
相关解释如上,其中第一行为当前节点的值
- ls2 + path: ls命令加上stat命令
- create [-s -e] +path + value +[acl] :创建节点 (-s:顺序节点,-e临时节点)
-
- -s :顺序节点,最终节点名字为自定义节点名加顺序数字,如note_scot_10000000001
- -e :临时节点,客户端连接断开后自动删除节点
- path:创建路径,其中父路径必须存在
- value:节点内容
- acl:权限相关,后面文章会详细解释
- set + path + value +[version] :设置节点内容
- version : 设置版本号必须与现存版本号相同 否则报错,思路类似乐观锁
- delete + path + [version] : 版本号与set相同,只能删除不含有子节点的节点
- rmr + path : 删除路径下所有节点
- setquota -n|-b val path (-n限制子节点个数,-b限制数据长度)(超出限制只在log记录不抛出异常)
- listquota path (查看限制)
- delquota [-n|-b] path (删除限制)
- addauth ip + ip地址
- addauth digest + username:password
创建节点授权信息ACL
关于ACL权限的问题,第二章Zookeeper使用中会详细说明