Clustering Considerations

This page is aim to help users to understand clustering considerations for this framework in different aspects.

Enabling clustering mode in RapideDeploy

All RD instances need to be reconfigured and clustering mode enabled. Please update the following framework property located in $MV_HOME/bin/rapiddeploy.properties file. By default this is disabled (property set in false).

rapiddeploy.cluster.enable=true 

Database access

All RD instances must have access to the RDBMS and configured via rapiddeploy.properties located in MV_HOME/bin folder.

If the RD instances are located in different boxes and HSQL DB is used as main RDBMS, please follow the next steps:

  1. On the main RD node where HSQL will be running, please add the HSQL DB setting for server socket listener address located in the file $MV_HOME/bin/rapiddeploy.properties.
    rapiddeploy.built.in.hsqldb.server.address=0.0.0.0
  2. On the others RD instances, the built in HSQL DB server should be disabled and database settings should point to the main instance. Please change the following setting and review all DB connection configuration located in the file $MV_HOME/bin/rapiddeploy.properties:
    rapiddeploy.datasource.url=jdbc:hsqldb:hsql://[Main_RapidDeploy_IP]:9001/rapiddeploydb
    
    rapiddeploy.built.in.hsqldb.server.enabled=false

Project Resources

All project resources should be accessible for all instances like logs path, project path, buildstore path and promotionstore path. Also server remote path must be accesible by all RD instances.

In windows MV_HOME of the main RD node can be shared through the network and mapped as network drive, then the paths can be referred via this drive letter. For example, the MV_HOME is mapped to the letter M, so a valid path for project logs would be M:/projects/MY_PROJECT/logs.

In Linux, the remote directory MV_HOME of the main RD node can be mounted in each RD instance FS. For example, this can be done via sshfs command and it could be mounted in the same location as the main RD node.

Remote Agent

The remote agent security should have be set to allow access to all RD instances.

Remoting transport plugin in each RD instance should have access to the same security paths like truststore and keystore locations.

SSH transport

SSH transport plugin in each RD instance should have access to the same security paths like SSH credentials.