zookeeper常用命令

常用命令:

1、zk服务命令

启动服务

./zkServer.sh start

查看服务状态 

./zkServer.sh status

重启服务 

./zkServer.sh restart

连接服务 

./zkCli.sh -server 127.0.0.1:2181

2、节点操作

创建节点

#创建永久的节点 create 节点名 值
create hadooop helloJavaBoy_ahua
#创建临时节点 create -e(ephemeral) /节点名 值  session完全断开后(服务器重启之后),数据消失
create -e /test hello
#创建有序节点 create -s(Serializable) /节点名 值   可以避免节点命名冲突
create -s /test2 helloWorld

修改节点

#语法: set 节点名 值
set  test helloZookeeper

 删除节点

#语法: delete /节点名
delete test

注意:delete只能删除不含子节点的节点,如果要删除包含子节点的节点则需要使用rmr命令

rmr node

 查询节点

#语法:get /节点名

[zk: localhost:2181(CONNECTED) 16] get /hadoop
"123456"
cZxid = 0x46    #数据创建时的事务id c create 
ctime = Fri Jun 25 09:42:34 CST 2021  #数据节点创建时的时间 create
mZxid = 0x46    #数据修改时的数据事务id m modify 修改
mtime = Fri Jun 25 09:42:34 CST 2021  #数据节点修改时的时间 m modify
pZxid = 0x46  #当前节点的子节点最后一次被修改的事务id
cversion = 0  #c child 子节点的版本号==>子节点的更改次数
dataVersion = 0   #当前节点的更改次数
aclVersion = 0    #节点ACL的更改次数  ACL access controller Lists
ephemeralOwner = 0x0  #如果该节点是临时节点,则该值为当前sessionId,若为临时节点,则当前						值为0x0
dataLength = 8        #数据内容的长度
numChildren = 0       #数据当前节点子节点个数
[zk: localhost:2181(CONNECTED) 17] 

可以使用stat命令查询节点状态,它返回值和get命令类似,但不会返回节点数据

#语法:stat /节点名

[zk: localhost:2181(CONNECTED) 43] stat /test
cZxid = 0x11
ctime = Fri Jun 25 19:11:43 CST 2021
mZxid = 0x11
mtime = Fri Jun 25 19:11:43 CST 2021
pZxid = 0x11
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 5
numChildren = 0
[zk: localhost:2181(CONNECTED) 44] 

 监听 watch 观察者模式==》触发条件

[zk: localhost:2181(CONNECTED) 6] get /test
"hello"
cZxid = 0x50
ctime = Fri Jun 25 10:01:49 CST 2021
mZxid = 0x51
mtime = Fri Jun 25 10:02:04 CST 2021
pZxid = 0x50
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 4
numChildren = 0
[zk: localhost:2181(CONNECTED) 7] get /javaboy watch
"dw"
cZxid = 0x50
ctime = Fri Jun 25 10:01:49 CST 2021
mZxid = 0x51
mtime = Fri Jun 25 10:02:04 CST 2021
pZxid = 0x50
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 4
numChildren = 0
[zk: localhost:2181(CONNECTED) 8] set /test"girl"

WATCHER::

WatchedEvent state:SyncConnected type:NodeDataChanged path:/test
cZxid = 0x50
ctime = Fri Jun 25 10:01:49 CST 2021
mZxid = 0x52
mtime = Fri Jun 25 10:02:38 CST 2021
pZxid = 0x50
cversion = 0
dataVersion = 2
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 6
numChildren = 0
[zk: localhost:2181(CONNECTED) 9] 

3、权限 ACL(access controller lists)访问控制列表 

前言:

zookeeper 类似文件系统,client 可以创建节点、更新节点、删除节点,那么如何做到节点的权限的控制呢?zookeeper的access control list 访问控制列表可以做到这一点。

ACL 权限控制,使用:scheme:id:perm 来标识,主要涵盖 3 个方面:
  权限模式(Scheme):授权的策略
  授权对象(ID):授权的对象
  权限(Permission):授予的权限

特性:
  ZooKeeper的权限控制是基于每个znode节点的,需要对每个节点设置权限
  每个znode支持设置多种权限控制方案和多个权限
  子节点不会继承父节点的权限,客户端无权访问某节点,但可能可以访问它的子节点

目前自己还在学习 后期会专门出一期博客讲解zookeeper的访问控制器

5、退出

quit
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值