123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- ==========================================
- ZooInspector - Browser and Editor for ZooKeeper Instances
- Author: Colin Goodheart-Smithe
- Date: February 2010
- ==========================================
- ZooInspector is a Java Swing based application for browsing and editing ZooKeeper instances.
- Contents
- --------
- - Features
- - Pre-requisites
- - Build Instructions
- - Using ZooInspector
- - Creating and Using Plugins
-
- Features
- --------
- Below is a list of features in the current release of ZooInspector.
- - Load connection settings from a zookeeper properties file
- - Pluggable DataEncryptionManagers to specify how data should be encrypted and decrypted in the Zookeeper instance
- - Browsable tree view of the ZooKeeper instance
- - View the data in a node
- - View the ACLs currently applied to a node
- - View the metadata for a node (Version, Number of Children, Last modified Time, etc.)
- - Pluggable NodeViewers interface
- - Ability to save/load and set default Node Viewers
- Maven Build Instructions
- -------------------------
- 0. Pre-requisites
- - Run "mvn install" in the root directory of the Zookeeper project
- 1. Open a command line
- 2. cd into this directory
- 3. mvn install
- 4. To run ZooInspector run zooInspector.cmd (on Windows) or zooInspector.sh (on Linux) (these scripts will
- find the built JAR automatically in the "target" directory as long as you don't move it)
- Ant Build Instructions
- -----------------------
- 0. Pre-requisites
- - The main zookeeper build script must have been run before building this module
- 1. Open a command line.
- 2. cd into this directory
- 3. Run command: ant
- 4. ZooInspector will be built to ../../../build/contrib/ZooInspector
- 5. Copy zookeeper-3.x.x.jar into the lib sub-directory (if you are using zookeeper-3.3.0.jar it will have been
- copied to this directory during the build
- 6. By default the zookeeper.cmd and zookeeper.sh files expect zookeeper-3.3.0.jar. If you are using another version
- you will need to change these files to point to the zookeeper-3.x.x.jar you copied to the lib directory
- 7. To run ZooInspector run zooInspector.cmd (on Windows) or zooInspector.sh (on Linux). If you are using
- zookeeper-3.3.0.jar and do not require any classpath changes you can run the zookeeper-dev-ZooInspector.jar
- directly
- Using ZooInspector
- ------------------
- To start ZooInspector run zooInspector.cmd (on Windows) or zooInspector.sh (on Linux). If you are using
- zookeeper-3.3.0.jar and do not require any classpath changes you can run the zookeeper-dev-ZooInspector.jar
- directly.
- Click the play button on the toolbar to bring up the connection dialog. From here you can enter connection
- information for your zookeeper instance. You can also load the connection properties from a file. This file can
- have the format as a normal zookeeper properties file (i.e. hosts and timeout key-value pairs) and van optional have
- an encryptionManager key-value pair to specify the DataEncryptionManager to use for this connection
- (DataEncryptionManagers are explained in further detail in the 'Creating and Using Plugins' section below). You can
- also set the entered information as the defaults so that when you first start ZooInspector these settings are
- automatically loaded into this dialog. Pressing the OK button with connect to your ZooKeeper instance and show the
- current node tree on the left of the main panel.
- Clicking a node in the node tree will load the data for that node into the node viewers. Three node viewers are
- currently distributed with ZooInspector:
- 1. Node Data - This enables you to see the data current stored on that node. This data can be modified and
- saved. The data is decrypted and encrypted using the DataEncryptionManager specified on the connection
- dialog.
- 2. Node Metadata - This enables you to see the metadata associated with this node. This is essentially the data
- obtained from the Stat object for this node.
- 3. Node ACLs - This allows you to see the ACLs currently applied to this node. Currently there is no ability
- to change the ACLs on a node, but it is a feature I would like to add.
- Other custom Node Viewers can be added, this is explained in the 'Creating and Using Plugins' section below.
- Creating and Using Plugins
- --------------------------
- There are two types of plugin which can be used with ZooInspector:
- 1. DataEncryptionManager - This specifies how data should be encrypted and decrypted when working with a
- zookeeper instance.
- 2. ZooInspectorNodeViewer - This is a GUI panel which provides a view of visualisation on a node.
- More information on these interfaces can be found in the javadocs for this module.
- To use a plugin in ZooInspector, build the plugin to a jar and copy the jar to the lib sub-directory. Edit the
- zooInspector.cmd and/or zooInspector.sh files to include your new jar on the classpath and run ZooInspector.
- For DataEncryptionManagers, click the play button to open the connection dialog and enter the full class name of
- your DataEncryptionManager in the 'Data Encryption Manager' field. You can make this Data Encryption Manager the
- default by clicking 'Set As Default'. Click the 'OK' button to instantiate and use your plugin.
- For ZooInspectorNodeViewers, Click the 'Change Node Viewers' button on the toolbar (looks like a tree with a pencil)
- and enter the full classname for your Node Viewer in the field left of the 'Add' button, then click the 'Add'
- button. The Node Viewer will be instantiated and should appear in the list. You can change the order of the Node
- viewers by clicking the up and down buttons and delete a Node Viewer by clicking the delete button. You can save
- to configuration to a file or set it as the default if necessary. Then click the 'OK' button and your Node Viewer
- should appear in the tabs on the right of the main panel.
|