Zookeeper的配置文件及命令


zookeeper的三種端口號:

  2181:客戶端連接Zookeeper集群使用的監聽端口號

  3888:選舉leader使用

  2888:集群內機器通訊使用(Leader和Follower之間數據同步使用的端口號,Leader監聽此端口)

 

Zookeeper單機模式配置文件

路徑:/conf/zoo.cfg

clientPort=2181
dataDir=/data
dataLogDir=/datalog
tickTime=2000


clientPort:這個端口就是客戶但連接Zookeeper服務器的端口,Zookeeper會監聽這個端口,接收客戶端的訪問請求
dataDir:保存數據的目錄
dataLogDir:保存日志的目錄
tickTime:這個時間事作為zookeeper服務器之間或客戶端與服務器之間維持心跳的時間間隔,也就是每隔tickTime時間就會發送一個心跳

zookeeper集群模式配置文件

路徑:/conf/zoo.cfg

clientPort=2181
dataDir=/data
dataLogDir=/datalog
tickTime=2000
initLimit=5
synclimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
server.1=192.168.0.1:2888:3888
server.2=192.168.0.2:2888:3888
server.3=192.168.0.3:2888:3888

initLimit:配置zookeeper接受客戶端初始化連接時最長能忍受多少個心跳時間間隔數,當已經超過initLimit(默認為10)個心跳的時間(也就是tickTime)長度后Zookeeper服務器還沒有收到客戶端的返回信息,那么表明這個客戶端連接失敗。總的時間長度就是5*2000=10秒 syncLimit:配置Leader與Follower之間發送信息,請求與應答時間長度,最長不能超過多少個tickTime的時間長度,總的時間長度就是2*2000=4秒
在/bin目錄下有個腳本:zkCleanup.sh可以手動清理快照和事務日志; 定時清理(zookeeper從3.
4.0開始提供了自動清理快照和事務日志的功能)以下兩個參數配合使用: autopurge.snapRetainCount:指定了需要保留的文件數目。默認事保留3個。 autopurge.purgeInterval:指定了清理頻率,單位是小時,需要填寫一個1或者更大的數字,默認是0,表示不開啟自己清理功能。 maxClientCnxns:限制連接到zookeeper的客戶端的數量,限制並發連接的數量,它通過IP來區分不同的客戶端。此配置選項可以用來組織某些類別的Dos攻擊。將它設置為0或者忽略而不進行設置將會取消對並發連接的限制。 server.A=B:C:D:其中A是一個數字,表示這個是第幾號服務器。B是這個服務器的IP地址/在docker中可以使用計算機名。C表示的是這個服務器與集群中的Leader服務器交換i西南西的端口(2888);D表示的是萬一集群中的Leader服務器掛了,需要一個端口來重新進行選舉,選出一個新的Leader,而這個端口就是用來執行選舉時服務器相互通信的端口(3888).如果時偽集群的配置方式,由於B都是一樣,所以不同的Zookeeper實力通信端口號不能一樣,所以要給它們分配不同的端口號。 server.1=192.168.0.1:2888:3888 server.2=192.168.0.2:2888:3888 server.3=192.168.0.3:2888:3888 注意:server.A中的A時在dataDir配置的目錄中創建一個名為myid的文里的值(如:1)

 

 zookeeper常用命令:

zkServer:

./zkServer.sh start

./zkServer.sh stop

./zkServer.sh restart

./zkServer.sh status

 

zkClient:

客戶端連接服務器: ./zkCli.sh -server localhost:2181

連接后創建節點(訪問和創建都是目錄形式):create /test "Hello Zookeeper"

獲得znode里變得data: get /test

刪掉:delete /test

 

 ZooKeeper 支持某些特定的四字命令字母與其的交互。它們大多是查詢命令,用來獲取 ZooKeeper 服務的當前狀態及相關信息。用戶在客戶端可以通過 telnet 或 nc 向 ZooKeeper 提交相應的命令

  • 1. 可以通過命令:echo stat|nc 127.0.0.1 2181 來查看哪個節點被選擇作為follower或者leader
  • 2. 使用echo ruok|nc 127.0.0.1 2181 測試是否啟動了該Server,若回復imok表示已經啟動。
  • 3. echo dump| nc 127.0.0.1 2181 ,列出未經處理的會話和臨時節點。
  • 4. echo kill | nc 127.0.0.1 2181 ,關掉server
  • 5. echo conf | nc 127.0.0.1 2181 ,輸出相關服務配置的詳細信息。
  • 6. echo cons | nc 127.0.0.1 2181 ,列出所有連接到服務器的客戶端的完全的連接 / 會話的詳細信息。
  • 7. echo envi |nc 127.0.0.1 2181 ,輸出關於服務環境的詳細信息(區別於 conf 命令)。
  • 8. echo reqs | nc 127.0.0.1 2181 ,列出未經處理的請求。
  • 9. echo wchs | nc 127.0.0.1 2181 ,列出服務器 watch 的詳細信息。
  • 10. echo wchc | nc 127.0.0.1 2181 ,通過 session 列出服務器 watch 的詳細信息,它的輸出是一個與 watch 相關的會話的列表。
  • 11. echo wchp | nc 127.0.0.1 2181 ,通過路徑列出服務器 watch 的詳細信息。它輸出一個與 session 相關的路徑。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM