ZooKeeper可視化監控ZKUI

  • 2019 年 11 月 26 日
  • 筆記

1. 簡介

ZKUI 提供了一個圖形化管理界面,可以針對 ZooKeepr 的節點值進行 CRUD 操作,同時也提供了安全認證。

2. 要求

由於 ZKUI 是基於 Java 開發的,所以需要安裝 JDK。要求使用 Java 7 以上版本。

3. 安裝

因為 ZKUI 需要手工進行編譯、構建打包,所以還需要下載安裝 Maven。從代碼庫下載源碼進行編譯:

# 克隆代碼  smartsi:software smartsi$ git clone [email protected]:DeemOpen/zkui.git  smartsi:software cd zkui/  # 編譯、構建、打包  smartsi:zkui smartsi$ mvn clean install

編譯成功後會生成如下文件:

smartsi:zkui smartsi$ ll  total 96  drwxr-xr-x  15 smartsi  staff    480  9  2 14:33 ./  drwxr-xr-x   3 smartsi  staff     96  9  2 11:44 ../  drwxr-xr-x  13 smartsi  staff    416  9  2 11:45 .git/  -rw-r--r--   1 smartsi  staff     25  9  2 11:45 .gitignore  -rw-r--r--   1 smartsi  staff  11358  9  2 11:45 LICENSE-2.0.txt  -rw-r--r--   1 smartsi  staff    416  9  2 11:45 Makefile  -rw-r--r--   1 smartsi  staff   6216  9  2 11:45 README.md  -rw-r--r--   1 smartsi  staff   2357  9  2 11:45 config.cfg  drwxr-xr-x   5 smartsi  staff    160  9  2 11:45 docker/  drwxr-xr-x   8 smartsi  staff    256  9  2 11:45 images/  -rw-r--r--   1 smartsi  staff   1746  9  2 11:45 nbactions.xml  -rw-r--r--   1 smartsi  staff   5294  9  2 11:45 pom.xml  -rw-r--r--   1 smartsi  staff     43  9  2 11:45 run.sh  drwxr-xr-x   4 smartsi  staff    128  9  2 11:45 src/  drwxr-xr-x  10 smartsi  staff    320  9  2 11:46 target/

zkui 下的 config.cfgtarget 下的 zkui-2.0-SNAPSHOT-jar-with-dependencies.jar 複製到我們的工作目錄下 ~/opt/zkui:

smartsi:opt cp ../software/zkui/target/zkui-2.0-SNAPSHOT-jar-with-dependencies.jar zkui/  smartsi:opt cp ../software/zkui/config.cfg zkui/

4. 配置

修改 config.cfg 配置:

# 指定端口  serverPort=9090  # ZooKeeper 實例  zkServer=localhost:2181,localhost:2181  # 生產環境設置為 prod、開發環境設置為 dev。設置為 dev 每次會清除歷史記錄  env=prod  # MySQL 數據庫配置  jdbcClass=com.mysql.jdbc.Driver  jdbcUrl=jdbc:mysql://localhost:3306/zkui  jdbcUser=root  jdbcPwd=zxcvbnm1  # 設置登錄用戶及其權限  userSet = {"users": [{ "username":"admin" , "password":"admin","role": "ADMIN" },{ "username":"test" , "password":"123","role": "USER" }]}

上面配置了需要連接的 ZooKeeper 集群的IP地址和端口。多個 zk 實例以逗號進行分割。例如:server1:2181, server2:2181。第一台服務器應始終是領導者。ZKUI 默認的用戶名與密碼是 admin/manager ,上面配置中我們修改為 admin/admin,同時修改用戶 appconfig 的賬號密碼為 test/123。在這我們使用 MySQL 存儲歷史記錄,必須注釋掉 h2 數據庫配置。

5. 運行

現在使用如下命令啟動 ZKUI:

nohup java -jar zkui-2.0-SNAPSHOT-jar-with-dependencies.jar &

現在我們可以通過Web界面(http://localhost:9090)訪問 ZKUI:

參考: zkui – Zookeeper UI Dashboard