1.启动命令行客户端
cd /root/apps/zookeeper-3.4.5/bin
zkCli.sh(该命令默认连接的是本机的zookeeper)
若要连接到其他机器的zookeeper,使用connect命令
connect 主机名:端口号
或者直接使用
zkCli.sh –server <ip> 指定要连接的机器ip
2.向zookeeper服务器读写数据以及向客户端提供监听服务
查看当前 ZooKeeper 中所包含的节点: ls / (不管在哪台机器上进行更新,3台机器的目录结构以及节点数据是一致的)
执行结果:[zookeeper]
创建新节点: create -e path data acl path-节点在目录结构中的路径 data-节点中保存的数据 acl-客户端的权限,一般不用指定
-e:指定表示节点为短暂节点,不指定表示节点为持久节点 -s:指定表示节点为带序号的节点,否则节点不带序号
create /app1 "this is app1 servers parent" # 创建路径为/app1的节点,节点上保存的数据为"this is app1 servers parent"
再次查看: ls /
执行结果:[app1, zookeeper]
create /app1/server01 "192.168.33.5,100" # 创建路径为/app1/server01的节点,节点上保存的数据为"192.168.33.5,100"
ls /
执行结果:[app1,zookeeper]
ls /app1 # 查看/app1节点的子节点信息
执行结果:[server01]
获取/app1/server01节点上的数据: get /app1/server01
执行结果:
"192.168.33.5,100" ....
cZxid - 创建数据的事务编号
ctime - 上述事务创建的时间
mZxid - 修改数据的事务编号
mtime - 上述事务创建的时间
pZxid - 数据持久化的事务编号
cversion - 创建版本号
dataVersion - 数据版本号
aclVersion - 权限版本
dataLength - 数据长度
numChildren - 子节点数
创建带序号的节点: 同一个父节点下的带序号节点其序号依创建顺序递增
修改节点中的数据:
set /app1 uuuuuuuu
监听节点数据变化:
get path [watch] -- 指定watch表示该节点提供对于该客户端的监听服务,一旦该节点发生数据更新,客户端会收到通知
注意:运行该命令后监听服务只生效一次,即只能通知节点的一次变化
get /app1 watch
监听节点子节点变化:
ls /app1 [watch] # 指定watch表示该节点提供对于该客户端的监听服务,一旦该节点发生子节点更新,客户端会收到通知
删除znode:
delete /zk (若/zk没有子节点,才会删除它)
rmr /zk (递归删除,如果/zk有子节点,就连同子节点一起全部删除)
3.命令行客户端退出
quit