Exhibitor is a Java supervisor system for ZooKeeper. It provides a number of features:
Watches a ZK instance and makes sure it is running
Performs periodic backups
Perform periodic cleaning of ZK log directory
A GUI explorer for viewing ZK nodes
A rich REST API
Exhibitor 是 ZooKeeper 实例监控,备份,恢复,清理和可视化工具, 是 ZooKeeper 的监控管理系统。
ZooKeeper :
ZooKeeper is a distributed, open source coordination service for distributed applications.
It was started by Yahoo developers to overcome their issues in distributed applications and later on it was undertaken and developed by the Apache foundation.
Exhibitor
To supervise the ZooKeeper instances, periodic backups, checking nodes status and auto restart on znode failures we use a project called Exhibitor that was open sourced by Netflix.
Features of Exhibitor
Instance Monitoring
Each Exhibitor instance monitors the ZooKeeper server running on the same server. If ZooKeeper is not running, Exhibitor will write the zoo.cfg file (see Cluster-wide Configuration below) and start it. If ZooKeeper crashes for some reason, Exhibitor will restart it.
Backup/Restore
Backups in a ZooKeeper ensemble are more complicated than for a traditional data store (e.g. a RDBMS). Generally, most of the data in ZooKeeper is ephemeral. It would be harmful to blindly restore an entire ZooKeeper data set. What is needed is selective restoration to prevent accidental damage to a subset of the data set. Exhibitor enables this.
Exhibitor will periodically backup the ZooKeeper transaction files. Once backed up, you can index any of these transaction files. Once indexed, you can search for individual transactions and “replay” them to restore a given ZNode to ZooKeeper.
Log Cleanup
Exhibitor does this maintenance automatically.