Zookeeper服務安裝之后,一般會在這個服務的基礎之上安裝其他的大數據平台,其他的框架一般會提供很多接口對Zookeeper中的內容進行一定的操作,但是功能相對單一,所以有些時候,有必要我們自己登錄Zookeeper服務器,對里面的文件結構有一定的了解,這樣的話使用起來也比較方便,下面就簡單總結一下Zookeeper常用的命令。
首先是最基本的zkServer.sh腳本使用,之前也說過,這里匯總一下(假設當前目錄在Zookeeper安裝目錄下):
1、啟動Zookeeper服務: bin/zkServer.sh start
2、查看服務狀態,包括節點類型: bin/zkServer.sh status
3、停止服務: bin/zkServer.sh stop
4、重啟服務: bin/zkServer.sh restart
下面就是重點,zk客戶端工具的使用,zk的命令行工具和shell相似,不過命令相對單一,使用比shell簡單得多,只能進行簡單的數據訪問操作,首先使用如下命令進入命令行管理工具:
bin/zkCli.sh -server localhost:2181
后面使用localhost或者定義的主機名都可以,回車之后就可以進入工具界面,提示符如下圖所示:
這個時候我們就可以輸入命令了,輸入一次命令,最后的數字加1,下面是一些常用的命令:
ls /目錄節點 顯示zookeeper中指定節點下的內容,比如: ls / 或者 ls /configs 但是要注意開始必須加/
ls2 /目錄節點 查看指定節點下的內容和節點的數據,更新次數等,比如: ls2 / 或者 ls2 /collections
create /節點名 string 創建節點,並關聯指定字符串,比如: create /test TheTest 注意字符串中間不要有空格,字符串也不用加雙引號,這個時候用 ls /test 查看只會返回[],而用 ls2 /test 查看可以看到數據長度等信息,
可以看到,dataLength = 7
get /節點或者文件名 可以獲取節點關聯的字符串或者文件的內容,對於文件和Linux下的cat命令類似,比如: get / 或者 get /configs/abc.xml
前者獲取目錄的關聯字符串,后者獲取abc.xml配置文件的內容,相當於cat命令
set /節點名 修改節點所關聯的字符串,比如創建之后,可以使用: set /test hello 來修改test節點的關聯字符串
delete /文件名 刪除zookeeper上的文件,有些框架的配置文件經常修改,並且每次更新時無法覆蓋原有文件,可以使用比如: delete /configs/abc/test.xml 這樣用來刪除test.xml文件,下次直接上傳就可以了
quit 退出zookeeper客戶端工具並返回命令行
help 查看更多命令的幫助
另外,不登錄zookeeper,也可以進行一些操作:
查看節點狀態是follower還是leader: echo stat | nc 127.0.0.1 2181 nc的全稱是NetCat,和scp命令類似,是用來在網絡之間通過TCP或者UDP協議進行文件傳輸的工具,有硬盤克隆,端口掃描等強大的功能,這里了解即可,以后的如果寫文章會詳細說明具體細節,如果nc沒有安裝,可以使用 yum install nc進行安裝,
測試是否啟動了該服務,若顯示imok表示已經啟動: echo ruok | nc 127.0.0.1 2181
列出服務配置的詳細信息: echo conf | nc 127.0.0.1 2181
列出服務環境的詳細信息(和上一條conf不一樣): echo envi | nc 127.0.0.1 2181
列出未經處理的請求: echo reqs | nc 127.0.0.1 2181
以上就是常用的zookeeper工具和其他常用的命令,對相關平台的開發和測試都會帶來方便