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
