...
One can configure replicated HA profile through changing Configs.cfg file (text based configuration) or through Studio. Following section describe these options.
Text based
Profiles can now be configured through a text based properties file. Profiles can be found under the %FIORANO_HOME%\fmq\profiles\FioranoMQ_HA_rpl directory (say, PROFILE_HOME). In order to configure replicated HA profile, edit Configs.cfg file under %PROFILE_HOME%\HAPrimary\conf and %PROFILE_HOME%\HASecondary\conf.
The default entries in Configs.cfg file looks like:
ObjectName=Container
HA Common Properties.
#
#FMQGroup.BackupServerIp=localhost
#FMQGroup.BackupServerPort=1956
#FMQGroup.BackupHAPort=3000
#FMQGroup.BackupHAIPAddress=localhost
#FMQGroup.Port=2000
#FMQGroup.PingInterval=30000
#FMQGroup.LockFile=null
#FMQGroup.SocketCreationTimeout=10000
#FMQGroup.GatewayServerIPAddress=localhost
#FMQGroup.GatewayServerPort=7
In front of every parameter, its default values are given.
Take the scenario of running HAPrimary on a machine with IPAddress: 192.169.1.22 and HASecondary on a machine with IPAddress: 192.169.1.200. GatewayServer address is given as 192.169.1.16 which is present in the network. If LockFile, say Lock.dat, has been shared from third system and mounted to /home/fmq1 on 192.168.1.22 system and to /home/fmq2 on 192.168.1.200 system, then on Primary profile these parameters should takes following value:
ObjectName=Container
HA Common Properties.
#
FMQGroup.BackupServerIp=192.168.1.200
#FMQGroup.BackupServerPort=1956
#FMQGroup.BackupHAPort=3000
FMQGroup.BackupHAIPAddress=192.168.1.200
#FMQGroup.Port=2000
#FMQGroup.PingInterval=30000
FMQGroup.LockFile=/home/fmq1/Lock.dat
#FMQGroup.SocketCreationTimeout=10000
FMQGroup.GatewayServerIPAddress=192.168.1.16
#FMQGroup.GatewayServerPort=7
On Secondary profile these parameters should takes following value:
ObjectName=Container
HA Common Properties
#
FMQGroup.BackupServerIp=192.168.1.22
#FMQGroup.BackupServerPort=1856
FMQGroup.BackupHAIPAddress=192.168.1.22
#FMQGroup.BackupHAPort==2000
#FMQGroup.Port=3000
#FMQGroup.PingInterval=30000
FMQGroup.GatewayServerIPAddress=192.168.1.16
#FMQGroup.GatewayServerPort=7
FMQGroup.LockFile=/home/fmq2/Lock.dat
#FMQGroup.SocketCreationTimeout=10000
Modified Configs.cfg file need to be saved for both Primary and secondary profiles.
Studio
Anchor | ||||
---|---|---|---|---|
|
If replicated HA profile needs to be used, then open FioranoMQ_HA_rpl/HAPrimary and FioranoMQ_HA_rpl/HASecondary profile in Studio Profile Manager. Right-click on the profile and click on FMQ Replicated HA. The FMQ Replicated HA wizard appears.
...
You can configure all the required values from the wizard. After configuring the wizard, right-click the node and select Save option from the pop-up menu
...
The following properties are available in the FMQ HA replicated wizard.
BackupHAIPAddress
This IP represents the URL where another FioranoMQ HA server runs. In case this HA server fails then all the required synchronized data is present in backup HA server and HA layer connects to backup HA server.
BackupHAPort
This port represents the backup machine HA port on which another FioranoMQ Server runs.
Port
This port represents the FMQ Server HA port on which this HA Server runs.
LockFile
Full path of the file which will be used for determining the HA states. This file should be present in the third machine and always available to the HA servers with all permissions. The LockFile machine must be same as the machine whose IPAddress is given as GatewayServerIPAddress.
GatewayServerIPAddress
This value represents the IP address of third machine which is always present in the network. This value must not be the machine where one of the FioranoMQ servers runs.
GatewayServerPort
This value represents the port to which any of the HA Servers pings. This port must not be used for some other purpose.
ActiveLockAcquisitionInterval:
This parameter indicates the wait Interval between each attempt to acquire the lock for active server. This value should be in multiples of pingInterval/2 otherwise server may try to acquire the lock on the next multiple of pingInterval/2.
PassiveLockAcquisitionInterval:
This parameter indicates the wait Interval for the passive server to acquire the lock when the link between active and passive server is down. This value should be greater than '2*ActiveLockReacquisitionInterval', otherwise an exception will be thrown. Server won't start if this value is not set properly.
All IP addresses, ports should represent the correct values. Without modifying any of these values HAPrimary and HASecondary can run on a single machine.
Take the scenario of running HAPrimary on a machine with IPAddress: 192.169.1.22 and HASecondary on a machine with IPAddress: 192.169.1.200. Gatewayserver address is given as 192.169.1.16 which is present in the network. If LockFile, say Lock.dat, has been shared from the third system and mounted to /home/fmq1 on 192.168.1.22 system and to /home/fmq2 on 192.168.1.200 system, then HAPrimary wizard looks like:
...
And HASecondary wizard looks like
...
Anchor | ||||
---|---|---|---|---|
|
Text based
Edit Configs.cfg file under:
%FIORANO_HOME%\fmq\profiles\FioranoMQ_HA_rpl\HAPrimary\conf for HAPrimary and
%FIORANO_HOME%\fmq\profiles\FioranoMQ_HA_rpl\HASecondary\conf for HASecondary
Port
Specify the Port on which HA Manager would listen for connection from the peer HA Server. Apart from the port that the HA Server uses to listen for connections from its clients, it must also listen for a connection from its HA Peer Server, in order to know the status of its peer.This parameter is used to specify that port.
Valid values:
Default value is 2000 for Primary and 3000 for secondary profile.
Note: The port must be not in use by any other services.
Configuration:
In Configs.cfg file this property can be found under HA common Properties. For example: #FMQGroup.Port=2000
User can change this value and for taking changes into effect uncomment the value, like- FMQGroup.Port=2500
NagleAlgo
Boolean determining whether Nagle's Algorithm is enabled or not in socket creation with peer HA Server. Nagle's algorithm is used in TCP/IP networks for congestion control. It works by coalescing a number of small outgoing messages, and sending them all at once. Specifically, as long as there is a sent packet for which the sender has received no acknowledgment, the sender should keep buffering its output until it has a full packet's worth of output, so that output can be sent all at once.
Valid values:
Default value is no
yes - NagleAlgo is enabled
no - NagleAlgo is not enabled
Configuration:
In Configs.cfg file this property can be found under HA Connection Manager Settings. For example:
#
Anchor | ||||
---|---|---|---|---|
|
User can change this value and for taking changes into effect uncomment the value, like-
NagleAlgo=true
SocketInitializationTimeout
Time (in milliseconds) within any client socket should identify itself and able to exchange the version number with server. The version number exchange is an authentication mechanism that FioranoMQ employs.
Valid values:
Default value is 60000 (which is equal to a minute).
Configuration:
In Configs.cfg file this property can be found under HA Connection Manager Settings. For example:
#SocketInitializationTimeout=60000
User can change this value and for taking changes into effect uncomment the value, like- SocketInitializationTimeout=65000
Anchor | ||||
---|---|---|---|---|
|
This parameter indicates the wait Interval between each attempt to acquire the lock for active server. This value should be in multiples of pingInterval/2 otherwise server may try to acquire the lock on the next multiple of pingInterval/2. Default value for this parameter is 30000.
Configuration:
In Configs.cfg file this property can be found under HA Manager Settings. For example:
#ActiveLockReAcquisitionInterval=30000
User can change this value and for taking changes into effect uncomment the value, like-
ActiveLockReAcquisitionInterval=35000
PassiveLockReAcquisitionInterval
This parameter indicates the wait Interval for the passive server to acquire the lock when the link between active and passive server is down. This value should be greater than '2*ActiveLockReacquisitionInterval', otherwise an exception will be thrown. Server won't start if this value is not set properly. Default value for this parameter is 60000.
Configuration:
In Configs.cfg file this property can be found under HA Manager Settings. For example:
#PassiveLockAcquisitionInterval=60000
User can change this value and for taking changes into effect uncomment the value, like-
PassiveLockAcquisitionInterval=65000
PingInterval
This interval represents the duration after which HAServer pings the other HABackup server to find whether the server is running properly or not.
Configuration:
In Configs.cfg file this property can be found under HA Common Properties. For example:
#FMQGroup.PingInterval=30000
User can change this value and for taking changes into effect uncomment the value, like-
FMQGroup.PingInterval=35000
Anchor | ||||
---|---|---|---|---|
|
Port of backup server on which Mx4j RMIConnector server will bind.
Configuration:
In Configs.cfg file this property can be found under HA KRPC Provider Settings. For example:
#BackupRMIServerPort=1858
User can change this value and for taking changes into effect uncomment the value, like-
BackupRMIServerPort=1958
RMIServerPort
Port on which Mx4j RMIConnector server will bind.
Configuration:
In Configs.cfg file this property can be found under RMI Connector Settings. For example:
#
Anchor | ||||
---|---|---|---|---|
|
User can change this value and for taking changes into effect uncomment the value, like-
RMIServerPort=1959
MaxWaitTimeout
Whenever an owning server realizes that there has been a change in its peer server's state, it must handle the change in its peer state by changing its state appropriately. While the owning server is changing state it starts a timer. If for some reason the state change is unable to complete after a reasonable amount of time then the owning server must realize that.This parameter specifies the maximum waiting timeout in milliseconds for which the local server should wait for state transition to complete.
Configuration:
In Configs.cfg file this property can be found under HA Manager Settings. For example:
#MaxWaitTimeout=30000
User can change this value and for taking changes into effect uncomment the value, like-
MaxWaitTimeout=35000
Studio
Anchor | ||||
---|---|---|---|---|
|
Port
This property can be found under:
Fiorano->HA->HAConnectionManager->FioranoHAConnectionManager->config through studio.
NagleAlgo
This property can be found under:
Fiorano->HA->HAConnectionManager->FioranoHAConnectionManager->config through studio.
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Fiorano ->HA->HAConnectionManager->FioranoHAConnectionManager->config > HA > HAConnectionManager > FioranoHAConnectionManager > config through studio.
Figure: Configuring Port, NagleAlgo and SocketInitializationTimeout parameters from studio
ActiveLockReAcquisitionInterval
Anchor | ||||
---|---|---|---|---|
|
Fiorano->HA->HAManager->FioranoHAManager->config through studio.
PassiveLockReAcquisitionInterval
Anchor | ||||
---|---|---|---|---|
|
Fiorano->HA->HAManager->FioranoHAManager->config through studio.
PingInterval
Anchor | ||||
---|---|---|---|---|
|
Fiorano->HA->HAManager->FioranoHAManager->config through studio.
MaxWaitTimeout
Anchor | ||||
---|---|---|---|---|
|
Fiorano->HA->HAManager->FioranoHAManager->config through studio.
BackupRMIServerPort
Anchor | ||||
---|---|---|---|---|
|
Fiorano->HA->HAKRPCProvider->FioranoHAKRPCProvider->config through studio.
RMIServerPort
This property can be found under:
Fiorano->jmx->RMIBasedJMXConnector->config through studio.
...
One can configure Shared HA profile through changing Configs.cfg file (text based configuration) or through Studio. Following section describe these options.
Text based
Profiles can now be configured through a text based properties file. Profiles can be found under the %FIORANO_HOME%\fmq\profiles\FioranoMQ_HA_shared directory (say, PROFILE_HOME). In order to configure shared HA profile, edit Configs.cfg file under %PROFILE_HOME%\HAPrimary\conf and %PROFILE_HOME%\HASecondary\conf.
The default entries in Configs.cfg file looks like:
ObjectName=Container
HA Common Properties.
#
#FMQGroup.BackupServerIp=localhost
#FMQGroup.BackupServerPort=1956
#FMQGroup.BackupHAIPAddress=localhost
#FMQGroup.BackupHAPort=3000
#FMQGroup.Port=2000
#FMQGroup.PingInterval=30000
#FMQGroup.GatewayServerIPAddress=localhost
#FMQGroup.GatewayServerPort=7
#FMQGroup.LockFile=null
#FMQGroup.SocketCreationTimeout=10000
In front of every parameter, its default values are given.
Take the scenario of running HAPrimary on a machine with IPAddress: 192.169.1.22 and HASecondary on a machine with IPAddress: 192.169.1.200. GatewayServer address is given as 192.169.1.16 which is present in the network. If LockFile, say Lock.dat, has been shared from third system and mounted to /home/fmq1 on 192.168.1.22 system and to /home/fmq2 on 192.168.1.200 system, then on Primary profile these parameters should takes following value:
ObjectName=Container
HA Common Properties.
#
FMQGroup.BackupServerIp=192.168.1.200
#FMQGroup.BackupServerPort=1956
FMQGroup.BackupHAIPAddress=192.168.1.200
#FMQGroup.BackupHAPort=3000
#FMQGroup.Port=2000
#FMQGroup.PingInterval=30000
FMQGroup.GatewayServerIPAddress=192.168.1.16
#FMQGroup.GatewayServerPort=7
FMQGroup.LockFile=/home/fmq1/Lock.dat
#FMQGroup.SocketCreationTimeout=10000
On Secondary profile these parameters should takes following value:
ObjectName=Container
HA Common Properties
#
FMQGroup.BackupServerIp=192.168.1.22
#FMQGroup.BackupServerPort=1856
FMQGroup.BackupHAIPAddress=192.168.1.22
#FMQGroup.BackupHAPort==2000
#FMQGroup.Port=3000
#FMQGroup.PingInterval=30000
FMQGroup.GatewayServerIPAddress=192.168.1.16
#FMQGroup.GatewayServerPort=7
FMQGroup.LockFile=/home/fmq2/Lock.dat
#FMQGroup.SocketCreationTimeout=10000
Modified Configs.cfg file need to be saved for both Primary and secondary profiles.
Studio
If shared HA needs to be used, then open FioranoMQ_HA_shared/HAPrimary and FioranoMQ_HA_shared/HASecondary profile in Studio Profile Manager. Right-click on the profile and click on FMQ Shared HA. The FMQ Shared HA wizard appears.
...
You can configure all the required values from the wizard. After configuring the wizard, right-click the node and select Save option from the pop-up menu
...
The following properties are available in the FMQ HA replicated wizard.
BackupHAIPAddress
This IP represents the URL where another FioranoMQ HA server runs. In case this HA server fails then all the required synchronized data is present in backup HA server and HA layer connects to backup HA server.
BackupHAPort
This port represents the backup machine HA port on which another FioranoMQ Server runs.
Port
This port represents the FMQ Server HA port on which this HA Server runs.
BackupRMIServerPort
Port of backup server on which Mx4j RMIConnector server will bind.
RMIServerPort
Port on which Mx4j RMIConnector server will bind.
PingInterval
This interval represents the duration after which HAServer pings the other HABackup server to find whether the server is running properly or not.
LockFile
Full path of the file which will be used for determining the HA states. This file should be present in the third machine and always available to the HA servers with all permissions. The LockFile machine must be same as the machine whose IPAddress is given as GatewayServerIPAddress.
GatewayServerIPAddress
This value represents the IP address of third machine which is always present in the network. This value must not be the machine where one of the FioranoMQ servers runs.
GatewayServerPort
This value represents the port to which any of the HA Servers pings. This port must not be used for some other purpose.
ActiveLockReAcquisitionInterval
This parameter indicates the wait Interval between each attempt to acquire the lock for active server. This value should be in multiples of pingInterval/2 otherwise server may try to acquire the lock on the next multiple of pingInterval/2. Default value for this parameter is 30000.
PassiveLockReAcquisitionInterval
This parameter indicates the wait Interval for the passive server to acquire the lock when the link between active and passive server is down. This value should be greater than '2*ActiveLockReacquisitionInterval', otherwise an exception will be thrown. Server won't start if this value is not set properly. Default value for this parameter is 60000.
All IP addresses, ports should represent the correct values. Without modifying any of these values HAPrimary and HASecondary can run on a single machine.
Take the scenario of running HAPrimary on a machine with IPAddress: 192.169.1.22 and HASecondary on a machine with IPAddress: 192.169.1.200. Gatewayserver address is given as 192.169.1.16 which is present in the network. If LockFile, say Lock.dat, has been shared from third system and mounted to /home/fmq1 on 192.168.1.22 system and to /home/fmq2 on 192.168.1.200 system, then HAPrimary wizard looks like:
...
And HASecondary wizard looks like:
...
Anchor | ||||
---|---|---|---|---|
|
Text based
Edit Configs.cfg file under
%FIORANO_HOME%\fmq\profiles\FioranoMQ_HA_shared\HAPrimary\conf for HAPrimary and
%FIORANO_HOME%\fmq\profiles\FioranoMQ_HA_shared\HASecondary\conf for HASecondary.
Port
Specify the Port on which HA Manager would listen for connection from the peer HA Server.Apart from the port that the HA Server uses to listen for connections from its clients, it must also listen for a connection from its HA Peer Server, in order to know the status of its peer.
This parameter is used to specify that port.
Valid values:
Default value is 2000 for Primary and 3000 for secondary profile.
Note: The port must be not in use by any other services.
Configuration:
In Configs.cfg file this property can be found under HA common Properties. For example: #FMQGroup.Port=2000
User can change this value and for taking changes into effect uncomment the value, like- FMQGroup.Port=2500
...
Boolean determining whether Nagle's Algorithm is enabled or not in socket creation with peer HA Server. Nagle's algorithm is used in TCP/IP networks for congestion control. It works by coalescing a number of small outgoing messages, and sending them all at once. Specifically, as long as there is a sent packet for which the sender has received no acknowledgment, the sender should keep buffering its output until it has a full packet's worth of output, so that output can be sent all at once.
Valid values:
Default value is no
• yes - NagleAlgo is enabled
• no - NagleAlgo is not enabled
Configuration:
In Configs.cfg file this property can be found under HA Connection Manager Settings. For example: #
Anchor | ||||
---|---|---|---|---|
|
User can change this value and for taking changes into effect uncomment the value, like- NagleAlgo=true
SocketInitializationTimeout
Time (in milliseconds) within any client socket should identify itself and able to exchange the version number with server. The version number exchange is an authentication mechanism that FioranoMQ employs.
Valid values:
Default value is 60000 (which is equal to a minute).
Configuration:
In Configs.cfg file this property can be found under HA Connection Manager Settings. For example: #SocketInitializationTimeout=60000
User can change this value and for taking changes into effect uncomment the value, like- SocketInitializationTimeout=65000
Anchor | ||||
---|---|---|---|---|
|
This parameter indicates the wait Interval between each attempt to acquire the lock for active server. This value should be in multiples of pingInterval/2 otherwise server may try to acquire the lock on the next multiple of pingInterval/2. Default value for this parameter is 30000.
Configuration:
In Configs.cfg file this property can be found under HA Manager Settings. For example: #ActiveLockReAcquisitionInterval=30000
User can change this value and for taking changes into effect uncomment the value, like- ActiveLockReAcquisitionInterval=35000
PassiveLockReAcquisitionInterval
This parameter indicates the wait Interval for the passive server to acquire the lock when the link between active and passive server is down. This value should be greater than '2*ActiveLockReacquisitionInterval', otherwise an exception will be thrown. Server won't start if this value is not set properly. Default value for this parameter is 60000.
Configuration:
In Configs.cfg file this property can be found under HA Manager Settings. For example: #PassiveLockAcquisitionInterval=60000
User can change this value and for taking changes into effect uncomment the value, like- PassiveLockAcquisitionInterval=65000
PingInterval
This interval represents the duration after which HAServer pings the other HABackup server to find whether the server is running properly or not.
Configuration:
In Configs.cfg file this property can be found under HA Common Properties. For example: #FMQGroup.PingInterval=30000
User can change this value and for taking changes into effect uncomment the value, like- FMQGroup.PingInterval=35000
Anchor | ||||
---|---|---|---|---|
|
Port of backup server on which Mx4j RMIConnector server will bind.
Configuration:
In Configs.cfg file this property can be found under HA KRPC Provider Settings. For example: #BackupRMIServerPort=1858
User can change this value and for taking changes into effect uncomment the value, like- BackupRMIServerPort=1958
RMIServerPort
Port on which Mx4j RMIConnector server will bind.
Configuration:
In Configs.cfg file this property can be found under RMI Connector Settings. For example: #
Anchor | ||||
---|---|---|---|---|
|
User can change this value and for taking changes into effect uncomment the value, like- RMIServerPort=1959
Studio
All the properties listed in this section are described in text based configuration.
Port
This property can be found under:
Fiorano->HA->HAConnectionManager->FioranoHAConnectionManager->config through studio.
NagleAlgo
This property can be found under:
Fiorano->HA->HAConnectionManager->FioranoHAConnectionManager->config through studio.
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Fiorano->HA->HAConnectionManager->FioranoHAConnectionManager->config through studio.
Figure: Configuring Port, NagleAlgo and SocketInitializationTimeout parameters from studio
ActiveLockReAcquisitionInterval
Anchor | ||||
---|---|---|---|---|
|
Fiorano->HA->HAManager->FioranoHAManager->config through studio.
PassiveLockReAcquisitionInterval
Anchor | ||||
---|---|---|---|---|
|
Fiorano->HA->HAManager->FioranoHAManager->config through studio.
PingInterval
Anchor | ||||
---|---|---|---|---|
|
Fiorano->HA->HAManager->FioranoHAManager->config through studio.
Anchor | ||||
---|---|---|---|---|
|
BackupRMIServerPort
Anchor | ||||
---|---|---|---|---|
|
Fiorano->HA->HAKRPCProvider->FioranoHAKRPCProvider->config through studio.
RMIServerPort
This property can be found under:
Fiorano->jmx->RMIBasedJMXConnector->config through studio.