c语言sscanf函数的用法是什么
266
2022-11-17
大数据学习笔记-------------------(11)
第10章 zookeeper 命令行接口
ZooKeeper命令行接口被用于与zookeeperensemble进行交互。调试、带有不同option的工作是非常有用的。
执行zookeeperCLI操作,首先要启动zookeeper server服务("bin/zkServer.sh"),然后在启动zookeeper的客服端("bin/zkCli.sh")。一旦客服端启动,可以执行下面操作:
Ø 创建 znode
Ø 获取 data
Ø 监视改变的znode
Ø 设置data
Ø 创建znode的 children
Ø 列表中znode的children
Ø 检查状态
Ø 移动/删除znode
上面命令使用的例子
10.1 创建Znodes
创建具有给定路径的znode。flag参数指定是否创建短暂的znode、持续的znode、连续的znode。默认情况下,所有的znodes是永久性的。
Ø 短暂znode(Ephemeral znodes )(标志:E)将在会话过期或当客户端断开连接被自动删除。
Ø 连续znodes(Sequential znodes )确保znode路径是独一无二的。
Ø ZooKeeperensemble 将添加10位有序数字填充到znode路径。例如,znode路径/myapp将被转换为/myapp0000000001和下一个序列号/myapp0000000002。如果没有指定标志,那么znode被认为是持久的。
a) 创建持久znode
创建Znode的语法:
create /path /data
例如:
create /FirstZnode “Myfirstzookeeper-app”
输出:
“Created /FirstZnode”
b) 创建连续znode
创建一个连续znode,添加-s flag,语法如下:
create -s /path /data
例子如下:
create -s /FirstZnode second-data
输出:“Created /FirstZnode0000000023”
c) 创建临时znode
创建一个临时znode,添加-e flag,语法:
create -e /path /data
例子如下:
create -e /SecondZnode “Ephemeral-data
输出:“Created /SecondZnode”
当客服端断开连接时,临时znode被删除。通过退出的ZooKeeper客服端,然后重新打开客服端。
10.2获取Data(GetData)
它返回指定znode的元数据和znode相关的数据。将得到信息例如:数据最后修改的时间、数据在哪里被修改、有关数据的信息。
获取数据的语法:
get /path
实例:
get /FirstZnode
输出:
“Myfirstzookeeper-app” cZxid = 0x7f ctime = Tue Sep 29 16:15:47 IST 2015 mZxid = 0x7f mtime = Tue Sep 29 16:15:47 IST 2015 pZxid = 0x7f cversion = 0 dataVersion = 0 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 22 numChildren= 0
要访问顺序znode,必须输入znode的完整路径,例如:
get /FirstZnode0000000023
输出:
“Second-data” cZxid = 0x80 ctime = Tue Sep 29 16:25:47 IST 2015 mZxid = 0x80 mtime = Tue Sep 29 16:25:47 IST 2015 pZxid= 0x80 cversion = 0 dataVersion = 0 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 13 numChildren= 0
10.3 监视(Watch)
当指定的znode或znode的children的数据变化时,监视显示通知。只能在get命令设置的watch。监视语法:
get /path [watch] 1
实例:
get /FirstZnode 1
输出:
“Myfirstzookeeper-app” cZxid = 0x7f ctime = Tue Sep 29 16:15:47 IST 2015 mZxid = 0x7f mtime = Tue Sep 29 16:15:47 IST 2015 pZxid = 0x7f cversion = 0 dataVersion = 0 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 22 numChildren= 0
输出和正常的get命令类似,但是在后代等待znode改变
10.4设置数据(SetData)
设置指定znode的数据。一旦完成这一套操作,可以使用命令行接口的get命令检查数据。设置数据的语法:
set /path /data、
实例:
set /SecondZnode Data-updated
输出:
cZxid= 0x82 ctime = Tue Sep 29 16:29:50 IST2015 mZxid = 0x83 mtime = Tue Sep 29 16:29:50 IST2015 pZxid = 0x82 cversion = 0 dataVersion = 1 aclVersion = 0 ephemeralOwner =0x15018b47db00000 dataLength = 14 numChildren = 0
如果给get命令设置了watch选项(和上一条命令一样),则输出将类似于如下所示:
输出:
WATCHER:: WatchedEvent state:SyncConnectedtype:NodeDataChanged path:/FirstZnode cZxid = 0x7f ctime = Tue Sep 29 16:15:47 IST 2015 mZxid = 0x84 mtime = Tue Sep 29 17:14:47 IST2015 pZxid = 0x7f cversion = 0 dataVersion = 1 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 23 numChildren = 0
10.5创建Children/Sub-znode
创建Children类似于创建新的znode。唯一的区别在于,child znode的路径包含parent路径。
语法:
create /parent/path/subnode/path /data
实例:
create /FirstZnode/Child1 firstchildren
输出:"created /FirstZnode/Child1 "
10.6 List Children
此命令用来列出并显示znode的Children。语法:
ls /path
实例:
ls /MyFirstZnode
输出:"[mysecondsubnode, myfirstsubnode] "
10.7 检查状态(CheckStatus)
Status描述指定znode的元数据。它包含详细信息,如时间戳(Timestamp)、版本号(Version Number)、ACL、数据长度、Children znode。
语法:
stat /path
实例:
stat /FirstZnode
输出:
cZxid = 0x7f ctime = Tue Sep 29 16:15:47 IST2015 mZxid = 0x7f mtime = Tue Sep 29 17:14:24 IST2015 pZxid = 0x7f cversion = 0 dataVersion = 1 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 23 numChildren = 0
10.8 移走Znode
删除指定的znode并递归所有的children。这将发生如果这种znode是可用的。语法:
rmr /path
实例:
rmr /FirstZnode
输出:
[zk:localhost:2181(CONNECTED) 10] rmr/FirstZnode [zk:localhost:2181(CONNECTED) 11] get/FirstZnode Node does not exist: /FirstZnode
删除(delete /path)命令类似于删除命令,但事实上,它仅适用于no children的znode。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~