zookeeper系列(一)zookeeper必知
zookeeper系列(二)實戰master選舉
zookeeper系列(三)實戰數據發佈訂閱
zookeeper系列(四)實戰負載均衡
zookeeper系列(五)實戰分佈式鎖
zookeeper系列(六)實戰分佈式隊列
zookeeper系列(七)實戰分佈式命名服務
zookeeper系列(八)zookeeper運維java
1、ZK的最小配置
最小配置是指Zookeeper運行所需的最小配置,Zookeeper只須要配置這些項就能夠正常的運行Zookeeper。算法
2、ZK的高級配置(可選)
高級配置是指有的須要直接經過系統屬性進行設置)shell
3、ZK的集羣配置選項數據庫
4、ZK的不安全配置項apache
受權認證配置項vim
super:<base64encoded(SHA1(idpassword))> ,一旦當前鏈接addAuthInfo超級用戶驗證經過,後續全部操做都不會checkACL.segmentfault
ZooKeeper支持某些特定的四字命令字母與其的交互。它們大可能是查詢命令,用來獲取 ZooKeeper 服務的當前狀態及相關信息。用戶在客戶端能夠經過 telnet 或 nc 向 ZooKeeper 提交相應的命令。 其中stat、srvr、cons三個命令比較相似:"stat"提供服務器統計和客戶端鏈接的通常信息;"srvr"只有服務的統計信息,"cons"提供客戶端鏈接的更加詳細的信息。
使用方式,在shell終端輸入:echo mntr | nc localhost 2181安全
命令 | 示例 | 描述 |
---|---|---|
conf | echo conf nc localhost 2181 | (New in 3.3.0)輸出相關服務配置的詳細信息。好比端口、zk數據及日誌配置路徑、最大鏈接數,session超時時間、serverId等 |
cons | echo cons nc localhost 2181 | (New in 3.3.0)列出全部鏈接到這臺服務器的客戶端鏈接/會話的詳細信息。包括「接受/發送」的包數量、session id 、操做延遲、最後的操做執行等信息。 |
crst | echo crst nc localhost 2181 | (New in 3.3.0)重置當前這臺服務器全部鏈接/會話的統計信息 |
dump | echo dump nc localhost 2181 | 列出未經處理的會話和臨時節點(只在leader上有效)。 |
envi | echo envi nc localhost 2181 | 輸出關於服務器的環境詳細信息(不一樣於conf命令),好比host.name、java.version、java.home、user.dir=/data/zookeeper-3.4.6/bin之類信息 |
ruok | echo ruok nc localhost 2181 | 測試服務是否處於正確運行狀態。若是正常返回"imok",不然返回空。 |
srst | echo srst nc localhost 2181 | 重置服務器的統計信息 |
srvr | echo srvr nc localhost 2181 | (New in 3.3.0)輸出服務器的詳細信息。zk版本、接收/發送包數量、鏈接數、模式(leader/follower)、節點總數。 |
stat | echo stat nc localhost 2181 | 輸出服務器的詳細信息:接收/發送包數量、鏈接數、模式(leader/follower)、節點總數、延遲。 全部客戶端的列表。 |
wchs | echo wchs nc localhost 2181 | (New in 3.3.0)列出服務器watches的簡潔信息:鏈接總數、watching節點總數和watches總數 |
wchc | echo wchc nc localhost 2181 | (New in 3.3.0)經過session分組,列出watch的全部節點,它的輸出是一個與 watch 相關的會話的節點列表。若是watches數量很大的話,將會產生很大的開銷,會影響性能,當心使用。 |
wchp | echo wchp nc localhost 2181 | (New in 3.3.0)經過路徑分組,列出全部的 watch 的session id信息。它輸出一個與 session 相關的路徑。若是watches數量很大的話,將會產生很大的開銷,會影響性能,當心使用。 |
mntr | echo mntr nc localhost 2181 | (New in 3.4.0)列出集羣的健康狀態。包括「接受/發送」的包數量、操做延遲、當前服務模式(leader/follower)、節點總數、watch總數、臨時節點總數。 |
開啓JMX監控:
修改zookeeper的啓動腳本vim zkServer.sh。找到啓動參數ZOOMAIN,修改成下面值。
其中local.only=false,設爲false才能在遠程創建鏈接。服務器
ZOOMAIN="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.port=9991 -Dcom.sun.management.jmxremote.ssl=true -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.access.file=/data/zookeeper/conf/jmxremote.access -Dcom.sun.management.jmxremote.password.file=/data/zookeeper/conf/jmxremote.password -Dzookeeper.jmx.log4j.disable=true org.apache.zookeeper.server.quorum.QuorumPeerMain"
在/data/zookeeper/conf目錄下創建2個訪問受權文件, 修改文件權限chmod 600 jmxremote.*網絡
-rw------- 1 deploy deploy 149 Aug 6 13:44 jmxremote.access -rw------- 1 deploy deploy 40 Aug 6 13:46 jmxremote.password [deploy@liutp conf]$ pwd /data/zookeeper/conf [deploy@liutp conf]$ cat jmxremote.access monitorRole readonly controlRole readwrite \ create javax.management.monitor.*,javax.management.timer.* \ unregister [deploy@liutp conf]$ cat jmxremote.password monitorRole 1234567 controlRole 1234567 [deploy@liutp conf]$
重啓zookeeper
使用Java自帶的JConsole
在命令行輸入JConsole,再回車。
在彈出的界面選擇「遠程進程」,輸入「服務器IP:9991」(zookeeper服務器的IP和端口)
exhibitor:可以配置zookeeper而且自由瀏覽、修改節點數據,查看運行狀態信息,自動或手動重啓;
zabbix:對CPU負載,內存使用,磁盤使用、網絡狀態作監控;
zookeeper系列(一)zookeeper必知
zookeeper系列(二)實戰master選舉
zookeeper系列(三)實戰數據發佈訂閱
zookeeper系列(四)實戰負載均衡
zookeeper系列(五)實戰分佈式鎖
zookeeper系列(六)實戰分佈式隊列
zookeeper系列(七)實戰分佈式命名服務
zookeeper系列(八)zookeeper運維