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$ lsbin/(all the shell scripts)conf/(configuration files)db/init.sqllib(required jar files)Dockerfiledocker-compose.ymlCHANGES.txtNOTICE.txtREADME.mdREADME-zh.mdVERSION
- 这里, {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 (参照 参数说明)