Zookeeper--命令行操作

Zookeeper支持某些特定的四字命令字母與其的交互。他們大多數是查詢命令,用來獲取Zookeeper服務的當前狀態及相關信息。用戶在客戶端可以通過telnetnc 向Zookeeper提交相應的命令。
在這裏插入圖片描述

Shell操作

下面是幾個簡單的示例,這些並不是在Zookeeper客戶端進行的,而是在正常的linux中的shell命令行。
在這裏插入圖片描述

Zookeeper的shell操作

首先,需要進入到Zookeeper的客戶端,連接到相關的服務之後可以輸入help來查看對應的命令:
在這裏插入圖片描述
幾個常用的命令解釋:

命令 描述
ls 和linux的shell一樣,列出某個路徑下的節點
create pathname [data] 創建一個新的Znode節點,參數爲節點的絕對路徑和它相關的字符(數據)
get pathname 獲取節點下的信息,包括3個部分,data,stat,children
set pathname data 更新節點的數據
delete pathname 刪除某個節點

關於設置權限的命令setAcl,Zookeeper包括四個內置的schema,包括world,auth,digest,ip。默認爲world:

  • world:其權限相當於任何人都可操作,有個單一的ID,anyone
  • auth:不使用任何ID,表示任何通過驗證的用戶(這裏不知是通過zk驗證的用戶,還是連接到此zk服務器的用戶)
  • digest:使用用戶名:密碼,字符串生成的MD5哈希值作爲ACL標識符。權限的驗證通過直接發送用戶名密碼字符串的方式完成。(常用的方式)
  • ip:使用客戶端主機ip地址作爲一個ACL標識符,ACL表達式以addr/bites的形式表示,zk服務器會將addr的前bits位與客戶端地址的前bits位來進行匹配驗證權限。

一般會採用digest的方式來進行Zookeeper中的權限控制,在命令行客戶端中,如果密碼採用明文會有問題,網上的其他同胞發現digest的密碼生成方式是Sha1摘要的base64形式,所以可以用其他語言生成密碼摘要再進行操作。
下面是一個使用digest控制權限的簡單示例:
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章