Shepher 是一款 ZooKeeper 的管理工具。在小米公司,我們用它作為配置管理中心。Readme in English
特性
- ZooKeeper 節點的可視化操作
- ZooKeeper 節點的快照管理
- ZooKeeper 節點修改的 Diff 和 Review 功能
- ZooKeeper 節點操作郵件通知
- 集成 CAS 和 LDAP 登錄
- 權限管理,參照 權限管理說明
同類產品功能對比
產品簡介節點的可視化操作快照管理節點修改的 Diff 和 Review 功能節點操作郵件通知CAS 和 LDAP 登錄權限管理級聯刪除系統狀態監控ShepherZooKeeper 管理√√√√√√TaoKeeperZooKeeper 集群監控與報表√ZkdashZooKeeper 管理√√√DisconfZooKeeper 管理√√√√√√XDiamond配置中心√√√√
系統截圖
- 首頁
- 節點查看
安裝
環境要求
- JDK 1.8
- Maven 3.2 +
- MySQL 5.6
基本配置
- 修改 db/init.sql 中的 INSERT INTO user VALUES (1,'youradmin',now()); ,將 youradmin 改為你的管理員用戶名
- 參照 參數說明,設置 shepher-web/src/main/resources 目錄下的參數配置。如果使用 CAS 登錄,則需要修改 CAS 相關的配置,並且將 server.login.type 設置為 CAS;如果使用 LDAP 登錄,則需要修改 LDAP 相關的配置,並且將 server.login.type 設置為 LDAP
開發環境部署
開發環境部署包括本地編譯部署和 Docker 部署兩種方式,用戶可以根據使用習慣選擇一種部署方式。
編譯
- 參照 參數說明 修改 conf/application-default.properties 的參數配置
- 本地編譯
$ mvn clean package
$ cd shepher-packaging/target/shepher-packaging-{version}-bin
$ ls
bin/(all the shell/>conf/(configuration files)
db/init.sql
lib(required jar files)
Dockerfile
docker-compose.yml
CHANGES.txt
NOTICE.txt
README.md
README-zh.md
VERSION
- 這裡, {version} 是指當前 Shepher 的版本。
本地部署
- 將 db/init.sql 導入到 MySQL
- 進入到安裝目錄
$ cd shepher-packaging/target/shepher-packaging-{version}-bin
- 運行腳本,啟動服務 Shepher
$ sh bin/run.sh start
- 在瀏覽器中訪問 http://localhost:8089 或自定義的 server.url (參照 參數說明)
Docker 部署
使用 Docker 部署則自動集成 MySQL 和 ZooKeeper,並且自動將 db/init.sql 導入MySQL中,不需要自行安裝。
- 安裝 Docker,以 Ubuntu 系統為例,安裝 docker engine 和 docker-compose
- 進入到安裝目錄
$ cd shepher-packaging/target/shepher-packaging-{version}-bin
- 運行腳本,啟動服務 Shepher, 等待 Docker 中的各個容器啟動完成
$ sh bin/docker-run.sh start
- 在瀏覽器中訪問 http://localhost:8089 或自定義的 server.url (參照 參數說明)
生產環境部署
生產環境部署的步驟跟本地編譯部署類似,主要注意對數據源、CAS/LDAP 以及域名的設置。另外,由於各個公司內部的郵件服務較為封閉,在線上使用中需要自己實現 CustomMailSender 類,並在 shepher-web/src/main/resources/application.properties 中設置 mail.sender=customMailSender,以便 Shepher 服務可以正常使用郵件服務。
- 將 db/init.sql 導入到 MySQL
- 創建 conf/application-online.properties 文件,參照 參數說明 添加和修改配置
- 在 Shepher 根目錄下運行命令
$ mvn clean package
- 將安裝目錄 shepher-packaging/target/shepher-packaging-{version}-bin 拷貝到線上,然後進入到該目錄
$ cd shepher-packaging/target/shepher-packaging-{version}-bin
- 執行下面命令啟動 Shepher
$ sh bin/run.sh -c conf/application.properties,conf/application-online.properties start
- 在瀏覽器中訪問 http://localhost:8089 或自定義的 server.url (參照 參數說明)
閱讀更多 儒雅程序員 的文章