A new module called kite-minicluster, which is a standalone minicluster ...

...that can be configured

with Services (like Cloudera Manager) that are run as part of the minicluster. Supported
Services in this commit are HDFS, HBase, and Zookeeper.

This minicluster implementation can be embedded in an application, integration tests,
or run standalone from the command line.

The minicluster supports forcing all listening sockets from minicluster services to force bind
to a specific IP address, making this minicluster compatible with environments like OpenShift
where the user is restricted on which IPs they are able to bind to.

It also supports toggling whether it starts fresh by cleaning the data directory of a previous
run, or keeps the data directory in tact so data can be kept across runs.
Doesn't notify() need to be called from a synchronized block? I would rewrite using http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CountDownLatch.html