4 Replies Latest reply: Sep 12, 2011 2:16 AM by Wolf-Dieter Fink RSS

Cluster with different operating systems?

Petrich Populatio Newbie

I am trying to build a small JBoss cluster for demonstration purposes at my university.
For this purpose, I have installed two vmware machines running Ubuntu Linux on my laptop running Windows XP. The JBoss servers running in the virtual Linux systems find each other perfectly, but when I start another JBoss in Windows, it won't join the cluster although it's sitting in the same subnet as the others.
There are warning messages appearing on the Linux JBoss consoles like this one:

WARN [NAKACK] [192.168.107.128:32782 (additional data: 28 bytes)] discarded message from non-member 192.168.107.1:1096 (additional data: 18 bytes)

192.168.107.128 is the respective Linux system's IP address, and 192.168.107.1 is the IP address of the Windows host, as you might have guessed :)
The messages appear only on the Linux machines: When I start the Windows JBoss before the Linux versions, nothing happens until I shut down the Windows JBoss - then again, I get the same message as quoted.
I have already changed the loopback attribute in the cluster-service.xml file to true on the Windows JBoss.

Is this intended behaviour, as to prevent the forming of clusters with multiple OS's, or am I doing something wrong? Any tips would be appreciated :)

  • 1. Re: Cluster with different operating systems?
    Brian Stansberry Master

    The nodes absolutely should be able to form a cluster irregardless of OS. It's Java after all ;)

    Perhaps http://www.jgroups.org/javagroupsnew/docs/manual/html_single/index.html#ItDoesntWork will give you some tips on how to resolve the problem.

  • 2. Re: Cluster with different operating systems?
    Petrich Populatio Newbie

    Thanks for the reply!

    I've found out that clustering works with vmware set to bridged networking - I had it previously set to host-only.
    Someone at the university pointed out that this may be due to Windows sending out multicast packets only on the primary network interface. To my understanding, this can't be 100% true because the Linux JBoss instances did receive packets from the Windows instance and just refused to form a cluster.
    Anyhow, if anyone reads this who wants to build a cluster with JBoss instances running in the host OS as well as the virtual machines - set it to bridged networking and it should work :)

  • 3. Re: Cluster with different operating systems?
    Aleksandar Brankovic Newbie

    I had the following case:

    I am using JBoss 6 and I tried to create JBoss Cluster using some Linux machines (nodes) and also some Windows machines (nodes).

    The situation was that my Linux machines create one cluster, and Windows machines create second. As a result I got two separate clusters which are totally isolated. All cluster and jgroup configuration parameters were set correctly , but nodes did not see each other.

     

    After some research I found next solution:

    There is potential problem of different IP Stack versions (IPv4 and IPv6). From version 1.4.2, Java (java.net package) uses IPv6 as default for all machines (systems) that support IPv6 or dual-stack machines. So, if there is situation that some machines don't see each other check IP Stack version of JVM.  Which version of IP Stack is enabled can be done using next VM arguments: -Djava.net.preferIPv4Stack=<true|false> and -Djava.net.preferIPv6Addresses=<true|false>.

     

    After all I did not find why this problem appear. Maybe because JBoss on Windows 7 machines is running inside Eclipse IDE using JBoss Tools container provider, which excludes this IP Stack argument (so IPv6Stack is used by default). I didn't try to run JBoss on Windows using run (run.bat) script. Maybe run script includes this argument. On Linux machines JBoss is started using run (run.sh) scripts, and IPv4Stack argument is included by default.

     

    For anyone who wants to read more about IP Stacks in Java check following link http://www.jgroups.org/manual/html/ch02.html#d0e523

  • 4. Re: Cluster with different operating systems?
    Wolf-Dieter Fink Master

    Hi Aleksander,

    welcome to the forum

     

    first of all you should not recycle such old entry if the scope is not exactly the same.

     

    Here some helpful links for you:

    http://http://community.jboss.org/wiki/ClusteringFAQ

    http://community.jboss.org/wiki/TestingJBoss

    a genreral help of multicasting will be found here:

    http://www.29west.com/docs/TestNet/testnet.html

     

    If you have further questions you should provide an overview to your cluster, IP-addresses, JBoss and Java versions and start parameter.