GS or XAP Configuration in Cluster Mode (Magic xpi 4.13)
The Gigaspaces XAP Manager provides a more robust cluster in terms of consistency by using the Apache ZooKeeper as a tool for highly reliable distributed coordination. This is achieved by stacking together the LUS and GSM to work as a single node under ZooKeeper. The manager also provides an embedded web application which hosts an admin instance with a RESTful management API on top of it, usually set to be at localhost:8090.
Using the new Gigaspaces/XAP Manager provides consistency within the space partitions across network and eliminates the possibility of a Split Brain condition. These conditions where not to cause duplicate triggers event in Magic xpi, leading to data inconsistency.
One important point to note is that when setting such a layout, you are required to have 3 nodes in the cluster, without which the required consistency cannot be achieved. More nodes can be added but it is not recommended for Magic xpi as it would bring up too many space components on the network leading to high chattiness and possible reduced performance.
Your Cluster setup will required to be built with 3 nodes.
Make sure that the Installation type you choose should be Medium or High System Capacity or Size on all the three nodes as this would be required for production level setup.
Small capacity is by default designed to be used as a single node/developer system.
Some settings, as listed below, are required in the Windows firewall.
o From the Control Panel go to Windows Defender Firewall and open the Allow app to communicate through Windows Defender Firewall menu. Here select the check-box for Netlogon Service.
o By default Zookeeper uses the ports 2181, 2888, 3888. So make sure that these ports along with other ports required by GS are open (Inbound and Outbound Rules) in firewall on all the three nodes.
Note that, ports 9101,4174 and port range 49152-65535 need to be open (Inbound and Outbound Rules) in firewall on all three nodes.
Update two files located at:
<Magic xpi Installation>\Runtime\Gigaspaces-xpi\bin\magicxpi-gs-agent.bat
Comment the existing line & add the following line,
call gs host run-agent --manager --custom gsc=3 --custom mgmirror=1 --custom mgdeploy=1 --custom mginfo=1
@REM for multicast:
@REM for all machines: call gs-agent.bat gsa.gsc 2 gsa.global.gsm 1 gsa.global.lus 1 gsa.mgdeploy 1
@REM for unicast:
@REM any machine with lus service: call gs-agent.bat gsa.gsc 2 gsa.global.gsm 1 gsa.lus 1 gsa.global.lus 0 gsa.mgdeploy 1
@REM any machine without lus service: call gs-agent.bat gsa.gsc 2 gsa.global.gsm 1 gsa.lus 0 gsa.global.lus 0 gsa.mgdeploy 1
@REM Gigaspace with xap manager.(zookeeper),please refer help for more details and settings.
@REM call gs host run-agent --manager --custom gsc=3 --custom mgmirror=1 --custom mgdeploy=1 --custom mginfo=1
call gs host run-agent --custom gsc=3 --custom gsm=1 --custom lus=1 --custom global.lus=0 --custom mgmirror=1 --custom mgdeploy=1 --custom mginfo=1
<Magic xpi Installation>\Runtime\Gigaspaces-xpi\bin\magicxpi-setenv.bat
Add the following lines:
set GS_MANAGER_SERVERS=<comma separated HostNames participating in the Cluster>
set ADDITIONAL_OPTIONS=%ADDITIONAL_OPTIONS% -Dcom.magicsoftware.ibolt.home=%MAGIC_XPI_HOME%\runtime -Dlogback.configurationFile=%MAGIC_XPI_HOME%\runtime\Java\classes\gigaspaces.root.logback.xml
set GS_OPTIONS_EXT=%GS_OPTIONS_EXT% %ADDITIONAL_OPTIONS% -Xmx512m -Djava.net.preferIPv4Stack=true
Above mentioned setting needs to be done on all the 3 nodes.
In case Gigaspace doesn’t get deployed and following error is shown in log then make sure that all zookeeper ports are open in the firewall setting for all three machines.
GSM INFO [org.apache.zookeeper.ClientCnxn] - Opening socket connection to server MYNODE1/10.9.44.58:2181. Will not attempt to authenticate using SASL (unknown error)
For more details of Gigaspaces Manger and configuration possibilities, visit https://docs.gigaspaces.com/latest/admin/xap-manager.html. Do select the version from the site as 15.2 to get the more relevant version of the document.
(Since version: 4.13)
Understanding Split-brain Condition
GS or XAP Configuration in Cluster Mode for Linux Environment