1. 进入zookeeper 安装目录下的bin目录, 运行脚本, ip + clientPort (这里注意, clientPort是在zoo.cfg文件里边的一个配置, 而不是 server.1=168.72.230.27:2888:3888 这种server配置里边的端口)
./zkCli.sh -server 168.72.230.27:2181
Welcome to ZooKeeper!
2018-08-19 23:50:08,320 [myid:] - INFO [main-SendThread(168.72.230.27:2181):ClientCnxn$SendThread@1032] - Opening socket connection to server 168.72.230.27/168.72.230.27:2181. Will not attempt to authenticate using SASL (unknown error)
JLine support is enabled
2018-08-19 23:50:08,412 [myid:] - INFO [main-SendThread(168.72.230.27:2181):ClientCnxn$SendThread@876] - Socket connection established to 168.72.230.27/168.72.230.27:2181, initiating session
2018-08-19 23:50:08,423 [myid:] - INFO [main-SendThread(168.72.230.27:2181):ClientCnxn$SendThread@1299] - Session establishment complete on server 168.72.230.27/168.72.230.27:2181, sessionid = 0x16545f46d6f0028, negotiated timeout = 30000
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: 168.72.230.27:2181(CONNECTED) 0]
2. 连接成功后, 查看节点的子节点 : ls
ls / -- 查看根节点的子节点
[zk: 168.72.230.27:2181(CONNECTED) 1] ls /
[cluster, controller, brokers, storm, zookeeper, yarn-leader-election, hadoop-ha, admin, isr_change_notification, drill, zk-herman, controller_epoch, opt, spark, kafka-manager, rmstore, consumers, latest_producer_id_block, config]
3. 查看节点的数据信息 : get
get /zk-herman
888 -- 节点的数据信息
cZxid = 0x6500021f50 --Zxid zookeeper的事务id, cZxid指的是节点创建时的事务id. 不变.
ctime = Wed Jan 31 22:05:25 EST 2018 -- 节点的创建时间. 不变.
mZxid = 0x650003123a -- 节点最近一次修改的事务id. 包括对本节点数据的修改. 本节点acl的修改,子节点的增加删除以及子节点acl的修改都不会影响到该值.
mtime = Thu Feb 08 02:25:31 EST 2018 -- 节点最近一次修改的时间.
pZxid = 0x72000007db -- 对子节点最近的一次修改, 包括子节点的增加删除, 但是子节点的数据修改和acl权限控制,不会影响这个信息.
cversion = 204 -- 子节点的版本号, 对子节点的增加和删除操作, 版本号都会加1.但是子节点的数据和acl修改不会影响这个信息.
dataVersion = 3 -- 数据版本.本节点的数据信息每被修改一次, 加1
aclVersion = 0 -- acl 版本号. acl指的是对改节点的访问权限, 每更改一次就加1
ephemeralOwner = 0x0 -- ephemeral节点所属的客户端的sessionId. 如果是persist 节点, 则为0
dataLength = 3 -- 数据长度
numChildren = 0 -- 子节点的数量
4. 更新节点的数据信息 : set
[zk: 168.72.230.27:2181(CONNECTED) 5] set /zk-herman 999 3 -- path data version, 这里version指的是基于哪个数据版本进行更改, 类似与CAS. 如果指定的版本和zookeeper实际的不一致, 则更新失败
cZxid = 0x6500021f50
ctime = Wed Jan 31 22:05:25 EST 2018
mZxid = 0x72000069a0
mtime = Mon Aug 20 01:46:34 EDT 2018
pZxid = 0x72000007db
cversion = 204
dataVersion = 4
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0
5. 删除节点 : detele
delete /zk-herman/pers