1. 程式人生 > >Zookeeper常用命令的使用

Zookeeper常用命令的使用

在《使用sed獲取本機正在監聽的埠》中,我上傳的路徑多了一個/solr,結果把conf上傳到了/solr/configs裡面去了,但是專案需求是要在/configs裡面去,那麼我就只能修改上傳路徑,重新上傳一次,可是強迫症的我不能看的沒用的配置在哪裡,萬一有些錯誤是他引起的呢?是吧!所以就要使用zookeeper的命令來刪除上傳到zookeeper的配置檔案,具體步驟:

首先到zookeeper目錄/bin下面,執行:

./zkCli.sh -server 192.168.132.253:5181

進入zookeeper的命令列:

2015-09-23 15:51:48,233 [myid:] - INFO  [main:
[email protected]
] - Initiating client connection, connectString=192.168.132.253:5181 sessionTimeout=30000 [email protected] Welcome to ZooKeeper!

然後輸入命令:

ls /

顯示:

[configs, zookeeper, overseer, aliases.json, live_nodes, collections, overseer_elect, clusterstate.json, solr, solr22, ltf]

然後刪除它:

[zk: 192.168.132.253:5181(CONNECTED) 1] delete /solr
Node not empty: /solr

我們看到刪除失敗,因為這個node不是空的,搜噶原來需要用到另一個刪除的命令:

[zk: 192.168.132.253:5181(CONNECTED) 9] rmr /solr

OK,刪除成功,那麼下面在整理一下常用的命令吧:

一、zookeeper伺服器常用命令:

  • 1. 啟動ZK服務:       ./zkServer.sh start
  • 2. 檢視ZK服務狀態: ./zkServer.sh status
  • 3. 停止ZK服務:       ./zkServer.sh stop
  • 4. 重啟ZK服務:       ./zkServer.sh restart

二、zookeeper命令列常用命令:

  • 1. 顯示根目錄下、檔案: ls / 使用 ls 命令來檢視當前 ZooKeeper 中所包含的內容
  • 2. 顯示根目錄下、檔案: ls2 / 檢視當前節點資料並能看到更新次數等資料
  • 3. 建立檔案,並設定初始內容: create /zk “test” 建立一個新的 znode節點“ zk ”以及與它關聯的字串
  • 4. 獲取檔案內容: get /zk 確認 znode 是否包含我們所建立的字串
  • 5. 修改檔案內容: set /zk “zkbak” 對 zk 所關聯的字串進行設定
  • 6. 刪除檔案: delete /zk 將剛才建立的 znode 刪除
  • 7. 刪除包含子資料夾:rmr /zk 將建立的zk目錄已經它下面的子目錄都刪除
  • 8. 退出客戶端: quit
  • 9. 幫助命令: help

三、zookeeper常用的四個字命令:

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 相關的路徑。

四、znode節點的狀態資訊:

使用get命令獲取指定節點的資料時, 同時也將返回該節點的狀態資訊, 稱為Stat. 其包含如下欄位:

  • czxid. 節點建立時的zxid.
  • mzxid. 節點最新一次更新發生時的zxid.
  • ctime. 節點建立時的時間戳.
  • mtime. 節點最新一次更新發生時的時間戳.
  • dataVersion. 節點資料的更新次數.
  • cversion. 其子節點的更新次數.
  • aclVersion. 節點ACL(授權資訊)的更新次數.
  • ephemeralOwner. 如果該節點為ephemeral節點, ephemeralOwner值表示與該節點繫結的session id. 如果該節點不是ephemeral節點, ephemeralOwner值為0. 至於什麼是ephemeral節點, 請看後面的講述.
  • dataLength. 節點資料的位元組數.
  • numChildren. 子節點個數.