ZooKeeper之Web管理工具Shepher介绍
ZooKeeper之Web管理工具Shepher介绍
Shepher是ZooKeeper的管理工具。在小米,我们将它用作配置管理中心。
特征
- ZooKeeper节点的可视化操作
- ZooKeeper节点的快照管理
- 修改了ZooKeeper节点的Diff和Review功能
- ZooKeeper节点的邮件操作通知
- CAS和LDAP集成
- 权限管理,参考权限管理指令
类似产品的功能比较
产品 | 介绍 | 节点的可视化操作 | 快照管理 | 节点修改了Diff和Review功能 | 节点操作的邮件通知 | CAS和LDAP日志 | 权限管理 | 级联删除 | 系统状态监视器 |
---|---|---|---|---|---|---|---|---|---|
Shepher | ZooKeeper管理 | √ | √ | √ | √ | √ | √ | ||
TaoKeeper | ZooKeeper集群监视器和语句 | √ | |||||||
Zkdash | ZooKeeper管理 | √ | √ | √ | |||||
Disconf | ZooKeeper管理 | √ | √ | √ | √ | √ | √ | ||
XDiamond | 配置中心 | √ | √ | √ | √ |
截图
安装
环境要求
- JDK 1.8
- Maven 3.2 +
- MySQL 5.6
基本配置
- 修改
INSERT INTO user VALUES (1,'youradmin',now());
中db/init.sql
,修改youradmin
成管理员的用户名 - 根据Parameter指令,修改目录下的参数配置
shepher-web/src/main/resources
。如果您使用的是CAS登录,则需要修改与CAS相关的配置并将其设置server.login.type
为CAS
; 如果使用LDAP登录,则需要修改与LDAP相关的配置并设置server.login.type
为LDAP
开发环境部署
开发环境部署包括本地编译部署和Docker部署,您可以根据使用情况选择部署。
-
conf/application*.properties
根据参数说明修改参数配置 -
本地编译
$ mvn clean package $ cd shepher-packaging/target/shepher-packaging-{version}-bin $ ls bin/(all the shell scripts) 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
类,并设置mail.sender=customMailSender
在conf/application.properties
,使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
-
访问自定义
server.url
(参考参数指令)
Docker安装Shepher
第一步git clone
git clone https://github.com/XiaoMi/shepher.git .
第二步 docker-compose up
docker-compose up
查看:docker-compose.yml
version: '2'
services:
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: root
volumes:
- ./db:/docker-entrypoint-initdb.d
web:
build: ./
image: shepher
ports:
- "8089:8089"
depends_on:
- db
- zookeeper
links:
- db
zookeeper:
image: zookeeper
expose:
- 2181
- 2888
- 3888
转载来源:https://github.com/XiaoMi/shepher/blob/master/README.md