ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

zookeeper简介及基操

2020-07-23 17:00:45  阅读:295  来源: 互联网

标签:基操 zk 简介 zookeeper watch hadoop CONNECTED path 节点


 1 zk的安装:
 2     1. 下载zk.tar.gz安装包,并解压至/usr/local/devInstall
 3     2. 在zk的目录下新建文件夹data
 4     3. 复制zk/config目录下的zoo_sample.cfg,重命名为zoo.cfg,vim zoo.cfg,将其中的dataDir=步骤2中data的目录;dataDir指定的路径用于存储zk中数据的内存快照,及事务文件。
 5 启动zk:
 6     1. 进入zk的bin目录
 7     2. 启动zk:./zkServer.sh start
 8     3. 查看状态:./zkServer.sh status
 9     4. 停止zk: ./zkServer.sh stop
10 启动zk客户端:
11     1. 进入zk的bin目录
12     2. 启动:./zkCli.sh
13     3. 停止:quit
14 zk常用的shell命令:
15     -新增节点:
16         create [-s] [-e] path data  #其中-s为有序节点,-e为临时节点;默认创建的节点都是持久化节点。
17             eg:创建持久化节点并写入数据:
18                 [zk: localhost:2181(CONNECTED) 9] create /hadoop "123456"
19                 Created /hadoop
20             创建持久化有序节点,此时创建的节点名为指定节点名+自增序号:
21                 [zk: localhost:2181(CONNECTED) 10] create -s /a "aaa"
22                 Created /a0000000007
23             创建临时节点,临时节点会在会话过期后被删除:
24                 [zk: localhost:2181(CONNECTED) 11] create -e /tmp "tempo"
25                 Created /tmp
26             创建临时有序节点,也会在会话过期后被删除:
27                 [zk: localhost:2181(CONNECTED) 12] create -s -e /aa "aaa"
28                 Created /aa0000000009
29     -更新节点:每次更新后dataVersion都会自增1
30         -更新节点的命令是set,可以直接进行修改,如下:
31             [zk: localhost:2181(CONNECTED) 14] set /hadoop "12345"
32             cZxid = 0x23
33             ctime = Wed Jul 15 13:28:02 CST 2020
34             mZxid = 0x27
35             mtime = Wed Jul 15 13:35:06 CST 2020
36             pZxid = 0x23
37             cversion = 0
38             dataVersion = 1
39             aclVersion = 0
40             ephemeralOwner = 0x0
41             dataLength = 5
42             numChildren = 0
43         -也可以基于版本号进行修改,此时类似于乐观锁机制,当你传入的数据版本号(dataVersion)和当前节点数据版本号不符合时,zk会拒绝本次修改:
44             [zk: localhost:2181(CONNECTED) 16] set /hadoop "12343" 1
45             version No is not valid : /hadoop
46     -删除节点:
47         删除节点的语法如下:
48             delete path [version]
49         和更新节点数据一样,也可以传入版本号。当传入的版本号和此节点的数据版本号不一致时,zk也不会执行删除操作。
50             要向删除某个节点及其所有后代节点,可以使用递归删除,命令为rmr path;
51     -查看节点:
52         查看节点的语法如下:
53             get path
54     -查看节点状态:
55         可以使用stat命令查看节点状态,它的返回值和get命令类似,但不会返回节点数据:
56         stat path
57     -查看节点列表:
58         查看节点列表有ls path 和 ls2 path两个命令,后者是前者的增强,不仅可以查看指定路径下所有节点,还可以查看当前节点的信息。
59     -监听器get path [watch]
60         使用get path [watch] 注册的监听器能够在节点内容发生改变的时候,向客户端发出通知。需要注意的是,zk的触发器是一次性的(one-time-trigger),即触发一次后就会立即失效。
61         eg:
62             get /hadoop watch
63             set /hadoop watch 45678
64             [zk: localhost:2181(CONNECTED) 1] set /hadoop "45678"
65             WATCHER::
66             WatchedEvent state:SyncConnected type:NodeDataChanged path:/hadoop
67     -监听器stat path [watch]
68         使用stat path [watch] 注册的监听器能够在节点状态发生改变的时候,向客户端发出通知。
69             [zk: localhost:2181(CONNECTED) 2] stat /hadoop watch
70             [zk: localhost:2181(CONNECTED) 3] set /hadoop 12344
71             WATCHER::
72             WatchedEvent state:SyncConnected type:NodeDataChanged path:/hadoop
73     -监听器ls\ls2 path [watch]
74         使用ls path [watch] 或 ls2 path [watch] 注册的监听器能够监听该节点下所有子节点的增加和删除操作。注意:只能捕获增加和删除,节点数据的修改不能捕获。

 

标签:基操,zk,简介,zookeeper,watch,hadoop,CONNECTED,path,节点
来源: https://www.cnblogs.com/kongieg/p/13367292.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有