Zookeeper是一個分佈式的、高可靠性的、高性能的協調服務,為構建大規模分佈式系統提供了有力支持。Zookeeper的數據結構為樹形結構,它的節點稱為znode,每個znode是用於存儲數據的一個節點。zkcli是Zookeeper的命令行客戶端,它提供了一個交互式命令行界面,可以通過zkcli來管理Zookeeper服務器。本篇文章將從zkcli命令詳解、zkcli命令查看集群狀態、zkcli遠程連接命令三方面來介紹zkcli。
一、zkcli命令詳解
zkcli命令行客戶端提供了一系列命令,可以通過這些命令來管理zk服務器。下面介紹zkcli中常用的命令。
1、help – 幫助命令
zookeeper@localhost:2181:> help ZooKeeper -server host:port cmd args stat path [watch] set path data [version] ls path [watch] delquota [-n|-b] path ls2 path [watch] setAcl path acl setquota -n|-b val path history redo cmdno printwatches on|off delete path [version] sync path listquota path rmr path get path [watch] create [-s] [-e] path data acl addauth scheme auth help quit
執行help命令可以查看zkcli的所有命令,以及命令的作用。
2、create – 創建節點命令
zookeeper@localhost:2181:> create /test "hello world" Created /test
執行create命令可以在指定的路徑下創建一個節點,-s表示節點是順序節點,-e表示節點是臨時節點。
3、get – 獲取節點數據命令
zookeeper@localhost:2181:> get /test hello world cZxid = 0xc ctime = Wed Dec 09 00:52:04 CST 2020 mZxid = 0xc mtime = Wed Dec 09 00:52:04 CST 2020 pZxid = 0xc cversion = 0 dataVersion = 0 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 11 numChildren = 0
執行get命令可以獲取指定節點的數據信息。
4、ls – 列出子節點命令
zookeeper@localhost:2181:> ls / [test]
執行ls命令可以列出指定路徑下的子節點。
5、set – 修改節點數據命令
zookeeper@localhost:2181:> set /test "new data" cZxid = 0xc ctime = Wed Dec 09 00:52:04 CST 2020 mZxid = 0xd mtime = Wed Dec 09 00:54:30 CST 2020 pZxid = 0xc cversion = 0 dataVersion = 1 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 8 numChildren = 0
執行set命令可以修改指定節點的數據信息。
二、zkcli命令查看集群狀態
zkcli命令行客戶端提供了查看集群狀態的命令,來幫助我們了解集群的運行狀態。
1、stat – 查看節點狀態命令
zookeeper@localhost:2181:> stat / Zookeeper version: 3.5.7-f0fdd52973d373ffd9c86b81d99842dc2c7f660e, built on 02/10/2020 11:30 GMT Clients: /127.0.0.1:49530[0](queued=0,recved=1,sent=0) /127.0.0.1:55000[1](queued=0,recved=1,sent=0) Latency min/avg/max: 1/2/5 Received: 2 Sent: 1 Connections: 2 Outstanding: 0 Zxid: 0x4 Mode: follower Node count: 4
執行stat命令可以查看指定節點的狀態信息,包括版本號、客戶端、延遲、連接數等信息。
2、srvr – 查看服務器狀態命令
zookeeper@localhost:2181:> srvr Zookeeper version: 3.5.7-f0fdd52973d373ffd9c86b81d99842dc2c7f660e, built on 02/10/2020 11:30 GMT Latency min/avg/max: 0/0/0 Received: 2 Sent: 1 Connections: 1 Outstanding: 0 Zxid: 0x40000000e Mode: standalone Node count: 4 0 277 1048576000 Thu Dec 03 18:25:24 CST 2020 dataDir version=0x40000000e txnlog=0x40000000f
執行srvr命令可以查看Zookeeper服務器的狀態信息。
三、zkcli遠程連接命令
我們可以通過zkcli連接遠程的Zookeeper服務器,進行遠程管理。
1、connect – 連接命令
zookeeper@localhost:2181:> connect remote_host:port
執行connect命令可以連接指定的遠程Zookeeper服務器。
2、close – 關閉連接命令
zookeeper@localhost:2181:> close
執行close命令可以關閉當前連接到的Zookeeper服務器。
3、addauth – 認證命令
zookeeper@localhost:2181:> addauth digest username:password
執行addauth命令可以使用指定的用戶名和密碼對遠程Zookeeper服務器進行認證。
4、reconfig – 重新配置命令
zookeeper@localhost:2181:> reconfig -add server.id=server:port:port:participant;server.id=server:port:port:participant
執行reconfig命令可以重新配置遠程Zookeeper服務器的參與者。
5、ruok – 健康檢查命令
zookeeper@localhost:2181:> ruok imok
執行ruok命令可以檢查遠程Zookeeper服務器是否正常。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/200215.html