连接zk
1
2
cd bin
zkCli.sh -timeout 5000 -server 27.154.242.214:5091

输入h,回车查看帮助
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[zk: 27.154.242.214:5091(CONNECTED) 2] h
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
    rmr path
    get path [watch]
    create [-s] [-e] path data acl
    addauth scheme auth
    quit 
    getAcl path
    close 
    connect host:port

创建节点
1
2
[zk: 27.154.242.214:5091(CONNECTED) 11] create /note1 123
Created /note1

-s 表示是顺序节点 -e表示为临时节点

创建临时节点
(会话结束节点就被删除,qiut(退出) 然后在登陆 )
1
2
[zk: 27.154.242.214:5091(CONNECTED) 11] create
-e 
/note2 123
Created /note2

顺序节点

(应用场景:分布式的主键生成器)

1
2
3
4
[zk: 27.154.242.214:5091(CONNECTED) 1] create -s /note1/note13 1333
Created /note1/note130000000002
[zk: 27.154.242.214:5091(CONNECTED) 2] create -s /note1/note13 1333
Created /note1/note130000000003


查看节点状态

1
2
3
4
5
6
7
8
9
10
11
12
[zk: 27.154.242.214:5091(CONNECTED) 12] stat /note1
cZxid = 0xc0b
ctime = Sun Aug 21 07:42:06 CST 2016
mZxid = 0xc0b
mtime = Sun Aug 21 07:42:06 CST 2016
pZxid = 0xc0b
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0
说明:每一次操作都是一个事务,每一个事务都有一个事务id
2. cZxid 该节点被创建的时候的事务id
3. ctime 节点被创建的时间
4. mZxid 最后一次更新的事务id
5. mtime 最后一次更新的时间
6. pZxid 该节点的子节点最后一次修改的事务id(修改子节点的内容不算)
7. cversion 子节点的版本号
8. dataVersion 数据版本号
9. aclVersion acl权限版本号
10. ephemeralOwner 创建临时节点的事务id(永久节点的话 这个值固定为0)
11. dataLength 当前节点存放数据长度
12. numChinldren 当前节点拥有子节点的个数

获取当前节点存储的数据的内容
1
2
3
4
5
6
7
8
9
10
11
12
13
[zk: 27.154.242.214:5091(CONNECTED) 13] get /note1
123
cZxid = 0xc0b
ctime = Sun Aug 21 07:42:06 CST 2016
mZxid = 0xc0b
mtime = Sun Aug 21 07:42:06 CST 2016
pZxid = 0xc0b
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0

ls2列出当前节点的子节点同时输出stat信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[zk: 27.154.242.214:5091(CONNECTED) 16] create /note1/note11 456
[zk: 27.154.242.214:5091(CONNECTED) 18] create /note1/note12 789
[zk: 27.154.242.214:5091(CONNECTED) 19] ls2 /note1              
[note12, note11]
cZxid = 0xc0b
ctime = Sun Aug 21 07:42:06 CST 2016
mZxid = 0xc0b
mtime = Sun Aug 21 07:42:06 CST 2016
pZxid = 0xc0d
cversion = 2
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 2

修改
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[zk: 27.154.242.214:5091(CONNECTED) 8] set /note1/note11 111
cZxid = 0xc0c
ctime = Sun Aug 21 07:47:28 CST 2016
mZxid = 0xc15
mtime = Sun Aug 21 09:12:07 CST 2016
pZxid = 0xc0c
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0
[zk: 27.154.242.214:5091(CONNECTED) 9] get /note1/note11    
111
cZxid = 0xc0c
ctime = Sun Aug 21 07:47:28 CST 2016
mZxid = 0xc15
mtime = Sun Aug 21 09:12:07 CST 2016
pZxid = 0xc0c
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0
再进行修改,dataversion会一直增加上去

删除节点

(rmr 循环删除节点及其子节点)

1
2
3
4
5
6
7
8
[zk: 27.154.242.214:5091(CONNECTED) 10] delete /note1/note11
[zk: 27.154.242.214:5091(CONNECTED) 11] ls /note1           
[note12, note130000000002, note130000000003]
[zk: 27.154.242.214:5091(CONNECTED) 12] delete /note1
Node not empty: /note1
[zk: 27.154.242.214:5091(CONNECTED) 13] rmr /note1
[zk: 27.154.242.214:5091(CONNECTED) 14] ls /  
[server, zookeeper, config]

配额相关的指令

设置配额

[setquota -n|-b val path]

-n限制子节点的个数 –b限制数据的长度

1
2
3
4
5
6
7
8
9
10
[zk: 27.154.242.214:5091(CONNECTED) 18] create /note1 123    
Created /note1
[zk: 27.154.242.214:5091(CONNECTED) 19] setquota -n 2 /note1 
Comment: the parts are option -n val 2 path /note1
[zk: 27.154.242.214:5091(CONNECTED) 20] create /note1/note11 11 
Created /note1/note11
[zk: 27.154.242.214:5091(CONNECTED) 21] create /note1/note12 12
Created /note1/note12
[zk: 27.154.242.214:5091(CONNECTED) 22] create /note1/note13 13  
Created /note1/note13

发现超限了仅仅在日志记录超限信息的警告不会有异常如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
[lzmhdev@lzmh01 zookeeper-3.4.8]$ cd bin 
[lzmhdev@lzmh01 bin]$ ls
README.txt  zkCleanup.sh  zkCli.cmd  zkCli.sh  zkEnv.cmd  zkEnv.sh  zkServer.cmd  zkServer.sh  zookeeper.out
[lzmhdev@lzmh01 bin]$ tail -f zookeeper.out 
    at java.lang.Thread.run(Thread.java:745)
2016-08-21 08:54:07,402 [myid:] - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:5091:NIOServerCnxn@1008] - Closed socket connection for client /123.59.54.18:34285 which had sessionid 0x156aa06f8d60001
2016-08-21 08:54:12,000 [myid:] - INFO  [SessionTracker:ZooKeeperServer@355] - Expiring session 0x156aa06f8d60001, timeout of 5000ms exceeded
2016-08-21 08:54:12,001 [myid:] - INFO  [ProcessThread(sid:0 cport:5091)::PrepRequestProcessor@489] - Processed session termination for sessionid: 0x156aa06f8d60001
2016-08-21 08:54:21,201 [myid:] - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:5091:NIOServerCnxnFactory@192] - Accepted socket connection from /123.59.54.18:34338
2016-08-21 08:54:21,205 [myid:] - INFO  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:5091:ZooKeeperServer@900] - Client attempting to establish new session at /123.59.54.18:34338
2016-08-21 08:54:21,223 [myid:] - INFO  [SyncThread:0:ZooKeeperServer@645] - Established session 0x156aa06f8d60002 with negotiated timeout 5000 for client /123.59.54.18:34338
2016-08-21 09:14:54,075 [myid:] - INFO  [ProcessThread(sid:0 cport:5091)::PrepRequestProcessor@651] - Got user-level KeeperException when processing sessionid:0x156aa06f8d60002 type:delete cxid:0x15 zxid:0xc17 txntype:-1 reqpath:n/a Error Path:/note1 Error:KeeperErrorCode = Directory not empty for /note1
2016-08-21 10:10:41,080 [myid:] - WARN  [SyncThread:0:DataTree@389] - Quota exceeded: /note1 count=3 limit=2

查看指定数据节点的配额情况

1
2
3
4
[zk: 27.154.242.214:5091(CONNECTED) 23] listquota /note1
absolute path is /zookeeper/quota/note1/zookeeper_limits
Output quota for /note1 count=2,bytes=-1
Output stat for /note1 count=4,bytes=9

-1 长度没有限制

删除配额

1
2
3
4
5
[zk: 27.154.242.214:5091(CONNECTED) 24] delquota -n /note1
[zk: 27.154.242.214:5091(CONNECTED) 25] listquota /note1  
absolute path is /zookeeper/quota/note1/zookeeper_limits
Output quota for /note1 count=-1,bytes=-1
Output stat for /note1 count=4,bytes=9

查看历史

并重复执行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[zk: 27.154.242.214:5091(CONNECTED) 26] history
16 - create /note1
17 - setquota -n 2 /note1 
18 - create /note1 123
19 - setquota -n 2 /note1 
20 - create /note1/note11 11
21 - create /note1/note12 12
22 - create /note1/note13 13
23 - listquota /note1
24 - delquota -n /note1
25 - listquota /note1
26 - history
[zk: 27.154.242.214:5091(CONNECTED) 27] redo 25
absolute path is /zookeeper/quota/note1/zookeeper_limits
Output quota for /note1 count=-1,bytes=-1
Output stat for /note1 count=4,bytes=9
参考
        极客学院视频【链接:http://pan.baidu.com/s/1qYKPNyO 密码:nlz3】




最新文章

  1. 在IIS下部署Thinkphp项目,验证码不能显示的解决办法
  2. C#-WebForm-WebForm开发基础、如何给控件注册事件?——事件委托写法、http无状态性、三层结构
  3. 【BZOJ-1010】玩具装箱toy DP + 斜率优化
  4. typeof和instanceof运算符
  5. UI4_UIWebView
  6. win8.1环境下硬盘安装centos6.5双系统
  7. LVS DR模型
  8. bat文件的妙用1-一键开启所有开发软件
  9. 16Aspx.com源码2013年10月到2013年12月详细
  10. UIView和其子类的几个初始化函数执行的时机
  11. .net mvc RazorEngine 字符串razor参数替换
  12. Android 开发之错误整理 [2014-04-28 09:22:28 - XXXX] Unable to resolve target 'android-18'
  13. alibaba架包FastJson使用例子
  14. CCTV5 前端
  15. Django-rest-framework 接口实现 分页:(Pagination) 解析器(Parser) 渲染器(renderer)
  16. Luogu P4009 汽车加油行驶问题
  17. spring boot ----> jpa连接和操作mysql数据库
  18. ELK logstash邮件报警
  19. 分享:Windows2008重启后提示系统恢复选项的解决办法
  20. C++作业 一

热门文章

  1. 谈谈Circuit Breaker在.NET Core中的简单应用
  2. MongoDB 自动增长
  3. 实验与作业(Python)-05 程序的控制结构
  4. Python logging 模块和使用经验
  5. Unity角色残影特效
  6. Linux 高性能服务器编程——Linux网络编程基础API
  7. 关于JQuery中的ajax请求或者post请求的回调方法中的操作执行或者变量修改没反映的问题
  8. android解析网络json数据(1)
  9. Volley的基本使用
  10. Android Studio安装Genymotion插件