High Availability Configuration
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.
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. |