Configuration

Installation

A complete installation includes all the elements previously described in the architecture: SPARKSEE (SPARKSEEHA configuration), the coordination service (ZooKeeper) and the load balancer. The last one byond the scope of this document because, as has been previously stated, it is developers' decision which is the best to use for their specific system.

SPARKSEEHA is included in all distributed SPARKSEE packages. Thus, it is not necessary to install any extra package to make the application HA-enabled it is only a matter of configuration. SPARKSEE can be downloaded as usual from Sparsity's website. Use SPARKSEE to develop your application. Plus, visit SPARKSEE documentation site to learn how to use SPARKSEE.

SPARKSEEHA requires Apache ZooKeeper as the coordination service. Latest version of ZooKeeper v3.4.3 should be downloaded from their website. Once downloaded, it must be installed on all the nodes of the cluster where the coordination service will run. Please note that Apache ZooKeeper requires Java to work, we recommend consulting the Apache ZooKeeper documentation for requirements details.

ZooKeeper

The configuration of Apache ZooKeeper can be a complex task, so we refer the user to the Apache ZooKeeper documentation for more detailed instructions.

This section does, however, cover the configuration of the basic parameters to be used with SPARKSEEHA, to serve as an introduction for the configuration of the ZooKeeper.

Basic ZooKeeper configuration can be performed in the $ZOOKEEPER_HOME/conf/zoo.cfg file. This configuration file must be installed on each of the nodes which is part of the coordination cluster.

This is an example of a valid $ZOOKEEPER_HOME/conf/zoo.cfg configuration file:

tickTime=2000
dataDir=/var/lib/zookeeper/
clientPort=2181
initLimit=5
syncLimit=2
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888

SPARKSEEHA

As previously explained, enabling HA in a SPARKSEE-based application does not require any update of the user's application nor the use of any extra packages. Instead, just a few variables must be defined in the SPARKSEE configuration.

Please, take into account the fact that slaves should synchronize before the master's history log expires. This will happen if the write ratio of the user's application is high enough, otherwise you should set a polling value, which must be shorter than the master's history log time.

These variables must be defined in the SPARKSEE configuration file (sparksee.cfg) or set using the SparkseeConfig class. More details on how to configure SPARKSEE can be found on the documentation site.

DEXHA activation can be checked by confirming that the Zookeeper has a node with a String containing the master's IP.
Back to Index