The configuration varies depending on the deployment option chosen. The table below provides configuration details for the Controller.

Deployment Options

Option 1

Option 2

Option 3

Installation

Login to each server separately and install the Controller. Please note that only when installing on first server the metadata needs to be updated. When installing on second server do not update metadata. Refer "Installing Purplecube Controller" for install instructions.

Login to one of the server and install the Controller. Refer "Installing Purplecube Controller" for install instructions.

Login to each user separately and install the Controller. Please note that only when installing on first user the metadata needs to be updated. When installing on second user do not update metadata. Refer "Installing Purplecube Controller" for install instructions.

Create link to application directory

Login to each server and use below commands to link Purplecube application folder to the common mount point.

cd $DI_HOME/app

#Folder move needs to be done from only one server

mv -r * /app/diapps

cd ..

rm -rf app

chmod -R 775 /app/diapps

ln -s /app/diapps app

Not applicable

Login to each user and use below commands to link Purplecube application folder to the common folder.

cd $DI_HOME/app

#Folder move needs to be done from only one server

mv -r * /app/diapps

cd ..

rm -rf app

chmod -R 775 /app/diapps

ln -s /app/diapps app


Configuration changes in diserver.config

Login to each server and update below parameters in the $DI_HOME/conf/diserver.config file to enable high availability.

diserver.ha=Y

diserver.ha.host1=<host1>:<startup port>

diserver.ha.host2=<host2>:<startup port>

Provide hostname or ip for host1 and host2

The details of all the parameters related to high availability configuration for the Controller are provided below this section.

Login to one of the servers and update below parameters in the $DI_HOME/conf/diserver.config file to enable high availability.

diserver.ha=Y

diserver.ha.host1=<host1>:<startup port>

diserver.ha.host2=<host2>:<startup port>

Provide hostname or ip for host1 and host2

The details of all the parameters related to high availability configuration for the Controller are provided below this section.

Login to each user and update below parameters in the $DI_HOME/conf/diserver.config file to enable high availability.

diserver.ha=Y

diserver.ha.host1=<host>:<startup port1>

diserver.ha.host2=<host>:<startup port2>

Provide hostname or ip for host

The details of all the parameters related to high availability configuration for the Controller are provided below this section.

Starting the Controller

Login to each server separately and run the startup command. The one that is started first will be marked as active and the other as passive. Follow the steps in "Starting Purplecube Controller" to start the Controller. This will start the Controller and the heartbeat program.

Login to each server separately and run the startup command. The one from which the command is run first will be marked as the active instance and the other as passive. Follow the details in "Starting Purplecube Controller" to start the Controller. This will start the Controller and the heartbeat program.

Login to each user separately and run the startup command. The one that is started first will be marked as active and the other as passive. Follow the details in "Starting Purplecube Controller" to start the Controller. This will start the Controller and the heartbeat program.

Shutting down the Controller
Login to the passive instance and shutdown the Controller. Then login to active instance and shutdown the Controller. Follow the steps in "Stopping Purplecube Controller" to stop the Controller. On passive instance this will stop the heartbeat program and on active it will stop Controller and the heartbeat program.Login to the passive instance and shutdown the Controller. Then login to active instance and shutdown the Controller. Follow the steps in "Stopping Purplecube Controller" to stop the Controller. On passive instance this will stop the heartbeat program and on active it will stop Controller and the heartbeat program.

Login to the passive instance and shutdown the Controller. Then login to active instance and shutdown the Controller. Follow the steps in "Stopping Purplecube Controller" to stop the Controller. On passive instance this will stop the heartbeat program and on active it will stop Controller and the heartbeat program.

Upgrading Controller

Login to each server separately and run the upgrade installer for the Controller. Please note that only when installing on first server the metadata needs to be updated. When installing on second server do not update metadata. Refer "Upgrading Purplecube Controller" for upgrade instructions.

Login to one of the server and run the upgrade installer for the Controller. Refer "Upgrading Purplecube Controller" for upgrade instructions.

Login to each user separately and run the upgrade installer for the Controller. Please note that only when installing on first user the metadata needs to be updated. When installing on second user do not update metadata. Refer "Upgrading Purplecube Controller" for upgrade instructions.

Below table gives details of all the parameters in diserver.config that are related to high availability configuration.

Parameter

Value

diserver.ha

Set this to 'Y' for enabling high availability and to 'N' for disabling

diserver.ha.host1

Provide hostname/IP of first server and its startup port (host:port).

Example: 192.99.9.123:9000

diserver.ha.host2

Provide hostname/IP of second server and its startup port (host:port).

Example: 192.99.9.456:9000

diserver.ha.interval

This value is in seconds. Provide the time interval for which the heartbeat should check the status of active Controller.

diserver.ha.timeout

This value is in seconds. Provide the timeout period that the heartbeat should wait before checking the status of the active Controller if it does not respond during the status check.

diserver.ha.retry

Provide the number of times the heartbeat should check the status of the active Controller if it does not respond during the status check.

diserver.ha.defaultagent

This parameter is used to manage the start and stop of the default Agent during failover. If this is set to 'Y' then heartbeat will start and stop the default Agent during failover of Controller.

The table below provides configuration details for the Agent. This setup is not required for default Agent. The default Agent is managed as part of the Controller high availability configuration using the parameter diserver.ha.defaultagent.


Option

Installation

Install Agent normally on Linux and Windows. Refer "Installing Purplecube Agent on Linux" and "Installing Purplecube Agent on Windows" for install instructions.

Configuration changes in diagent.config

Login to Agent server and update below parameters in the agent config file to enable high availability.

  • For Linux - $DI_HOME/conf/diagent.config
  • For Windows - <InstallDirectory>\Purplecube\agent\conf\diagent.config.

diserver.ha=Y

diserver.ha.host1=<host1>:<message port>

diserver.ha.host2=<host2>:<message port>

Provide hostname or ip of the Controller server for host1 and host2

The details of all the parameters related to high availability configuration for Agent are provided below this section.

Starting the Agent

Login to Agent server and run the startup command. The Agent will start pointing to the active Controller. Follow the steps in "Starting Purplecube Agent" to start the Agent. This will start the Agent and the heartbeat program.

Shutting down the Agent

Login to the Agent server and run the shutdown command. Follow the steps in "Stopping Purplecube Agent" to stop the Agent. This will stop the Agent and the heartbeat program.

Upgrading Agent

Login to Agent server and run the upgrade installer for the Agent. Refer "Upgrading Purplecube Agent on Linux" and "Upgrading Purplecube Agent on Windows" for upgrade instructions.

Below table gives details of all the parameters in diagent.config that are related to high availability configuration.

Parameter

Value

diserver.ha

Set this to 'Y' when the Controller is setup in high availability mode and to 'N' for normal setup.

diserver.ha.host1

Provide hostname/IP of first server and its message port (host:port).

Example: 192.99.9.123:9002

diserver.ha.host2

Provide hostname/IP of second server and its message port (host:port).

Example: 192.99.9.456:9002

diserver.ha.interval

This value is in seconds. Provide the time interval for which the heartbeat should check the status of active Controller.

diserver.ha.timeout

This value is in seconds. Provide the timeout period that the heartbeat should wait before checking the status of the active Controller if it does not respond during the status check.

diserver.ha.retry

Provide the number of times the heartbeat should check the status of the active Controller if it does not respond during the status check.