大数据学习笔记-------------------(11)

网友投稿 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小时内删除侵权内容。

上一篇:Java @Validated遇到的大坑与处理
下一篇:大数据学习笔记-------------------(12_2)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~