Chapter 5. Clustering

When should you consider clustering ?
Shared file system
Configuration setup
advanced configuration
Startup option
Cluster management
Cluster initialization
Starting and Stoping
From local to cluster mode

Installing eXo platform in cluster mode should be considered in the following cases:

These characteristics should be handled by the overall architecture of your system. Load Balancing is typically achieved by a front server or device that distributes the request to the cluster nodes. Also, high availability on the data layer can be typically achieved using the native replication implemented by RDBMS.

In this chapter, we will cover only the changes needed by eXo to work in a cluster.

In eXo Platform, the persistence mostly relies on JCR, which is a middleware between the eXo applications (including the portal) and the database. Hence this component must be configured to work in cluster.

The embedded JCR server requires a portion of its state to be shared on a file system shared among cluster nodes :

We strongly advise the use of a mount point on a SAN.

The switch to a cluster configuration is done in configuration.properties

First, switch the JCR to cluster mode:

This will tell the JCR to enable automatic network replication and discovery between other cluster nodes.

Next, configure the path for the shared filesystem :

The path is shared, so all nodes will need read/write access to this path.

You need to indicate the cluster kernel profile to eXo Platform. This can be done by editing gatein.sh like this: