Clone this wiki locally
Exhibitor provides these features/functions:
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.
In versions prior to ZooKeeper 3.4.x, log file maintenance is necessary. Exhibitor will periodically do this maintenance.
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.
Exhibitor attempts to present a single console for your entire ZooKeeper ensemble. Configuration changes made in Exhibitor will be applied to the entire ensemble. Here are some of the shared configuration values:
|ZooKeeper Install Dir||Path to the ZooKeeper server installation|
|ZooKeeper Data Dir||Path where ZooKeeper should store its data|
|Log Index Dir||Path where indexed transaction logs should be kept|
|Servers||List of servers/server-ids in the ensemble|
|Additional Config||Additional fields/values to store in zoo.cfg|
Rolling Ensemble Changes
Exhibitor can update the servers in the ensemble in a rolling fashion so that the ZooKeeper ensemble can stay up and in quorum while the changes are being made.
Automatic Instance Management
Exhibitor can be configured to automatically add new instances to the ensemble and remove stale instances. This enables touchless and turn-key management of a ZooKeeper cluster.
Exhibitor provides a graphical tree view of the ZooKeeper ZNode hierarchy.
ZooKeeper Data Mutation
When enabled, Exhibitor can create/update/delete nodes in the ZooKeeper hierarchy.
When using the Curator Lock recipes (or similar) Exhibitor can analyze a set of ZNodes that represent locks and determine if there is a potential deadlock.
Exhibitor and Curator (Cur/Ex!) can be configured to work together so that Curator instances are updated for changes in the ensemble. Click here for details.
Exhibitor exposes a REST API for programmatic integration. See REST Introduction for details.