Shepher is a management tool of ZooKeeper. In Xiaomi, we use it as the configuration management center. Readme 中文版
Product | Introduction | Visualized operation of nodes | Snapshot management | Node modified Diff and Review function | Node operated mail notification | CAS and LDAP log | Authority management | Cascade delete | System status monitor |
---|---|---|---|---|---|---|---|---|---|
Shepher | ZooKeeper management | √ | √ | √ | √ | √ | √ | ||
TaoKeeper | ZooKeeper cluster monitor and statement | √ | |||||||
Zkdash | ZooKeeper management | √ | √ | √ | |||||
Disconf | ZooKeeper management | √ | √ | √ | √ | √ | √ | ||
XDiamond | Configuration center | √ | √ | √ | √ |
Home
Node view
INSERT INTO user VALUES (1,'youradmin',now());
in db/init.sql
, change youradmin
into your administrator user nameshepher-web/src/main/resources
. If you are using a CAS login, you need to modify the CAS-related configuration and set the server.login.type
to CAS
; If you log in with LDAP, you will need to modify the LDAP-related configuration and set server.login.type
to LDAP
Development environment deployment includes local compilation deployment and Docker deployment, you can choose a deployment based on usage.
conf/application*.properties
according to Parameter instructionLocal compile
$ 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
Here, {version} refers to the current Shepher version.
db/init.sql
in to MySQLEnter install directories
$ cd shepher-packaging/target/shepher-packaging-{version}-bin
Run the script, start Shepher service
$ sh bin/run.sh start
http://localhost:8089
or self defined server.url
(Reference to Parameter instruction)MySQL and ZooKeeper will be automatic integrated when Docker deployment is used, and automatically import db/init.sql
into MySQL, no self installation is needed.
Enter install directories
$ cd shepher-packaging/target/shepher-packaging-{version}-bin
Run the script, start Shepher service and waiting start of each container in Docker accomplish
$ sh bin/docker-run.sh start
http://localhost:8089
or self defined server.url
(Reference to Parameter instruction)The steps for production environment deployment is similar to local compiling deployment, but pay attention to the setting of data sources, CAS/LDAP and domain names. In addition, because each company's internal mail service is relatively closed, you need to implement your own CustomMailSender
class, and set mail.sender=customMailSender
inconf/application.properties
, so that Shepher can use the mail service normally.
db/init.sql
into MySQLconf/application-online.properties
, and modify the configuration according to Parameter instructionRun the command in the Shepher root directory
$ mvn clean package
Copy shepher-packaging/target/shepher-packaging-{version}-bin
to the production environment, and enter the directory
$ cd shepher-packaging/target/shepher-packaging-{version}-bin
Run the command below, start Shepher
$ sh bin/run.sh -c conf/application.properties,conf/application-online.properties start
server.url
(Reference to Parameter instruction)Long Xie (@xielong), Jinliang Ou (@oujinliang), Chuanyu Ban (@banchuanyu), Chuyang Wei (@brianway), Peng Zhang (@monsters-peng), Yaoli Liu (@iloayuil)