Q1. How to migrate from local to the cluster mode?
If you intend to migrate your production system from the local (non-cluster) to the cluster mode, follow these steps:
1. Update the configuration to the cluster mode as explained above on your main server.
2. Use the same configuration on other cluster nodes.
3. Move the index and value storage to the shared file system.
4. Start the cluster.
Q2. Why is startup failed with the "Port value out of range" error?
On Linux, your startup is failed if you encounter the following error:
[INFO] Caused by: java.lang.IllegalArgumentException: Port value out of range: 65536
This problem happens under specific circumstances when the JGroups networking library behind the clustering attempts to detect the IP to communicate with other nodes.
You need to verify:
The host name is a valid IP address, served by one of the network devices, such as eth0, and eth1.
The host name is NOT defined as localhost or 127.0.0.1.
Q3. How to solve the "failed sending message to null" error?
If you encounter the following error when starting up in the cluster mode on Linux:
Dec 15, 2010 6:11:31 PM org.jgroups.protocols.TP down SEVERE: failed sending message to null (44 bytes) java.lang.Exception: dest=/228.10.10.10:45588 (47 bytes)
Be aware that clustering on Linux only works with IPv4. Therefore, when using a cluster under Linux, add the following property to the JVM parameters:
-Djava.net.preferIPv4Stack=true
Q3. How to hide JGroups protocol warnings in the log?
In the cluster mode, several eXo Platform subsystems, such as JCR, various caches, and organization service use shared JGroups transport; and in case of being used by the default UDP transport, it might cause a side effect (a lot of warnings) like these below:
WARNING: discarded message from different group "gatein-idm-api-cluster" (our group is "gatein-idm-store-cluster"). Sender was 192.168.1.55:54232 Dec 16, 2011 4:46:09 PM org.jgroups.protocols.TP passMessageUp WARNING: discarded message from different group "gatein-idm-store-cluster" (our group is "gatein-idm-api-cluster"). Sender was 192.168.1.55:63364 Dec 16, 2011 4:46:10 PM org.jgroups.protocols.TP passMessageUp
To hide such warnings, need to configure the Application Server logger in an appropriate way:
Apache Tomcat: add the following lines to the ${CATALINA_HOME}/conf/logging.properties file:
org.jgroups.level = SEVERE
org.jgroups.handlers = java.util.logging.ConsoleHandler,6gatein.org.apache.juli.FileHandler
JBoss Application Server: for the "all" server profile, add the following lines to the ${jboss_server}/server/all/conf/jboss-log4j.xml file:
<category name="org.jgroups.protocols.UDP">
<priority value="ERROR"/>
</category>