When you have servers in one cluster, the servers communicate with each other using multicast messaging mode. But a lot of times you see the messages in the log files of the servers like “Lost Multicast Messages”. This means there is something wrong in the servers communication. At this point of time it is necessary to test the network connection between the ip addresses where the clusters are running.
Syntax : java utils.MulticastTest -n name -a address [-p portnumber] [-t timeout] [-s send]
-N : Name of the server so that you can identify the communication.
-A : Multicast address on which the messages are sent and received.
-P : This is the multicast port number on which the servers communicate.
-T : This is the timeout value, if no multicase message is received within this time, warning is shown on the shell prompt.
-S : The duration in seconds between sending the messages.
Below is how you do it:
Test : Start the command prompts on machines where you have your managed servers. (can be 1 or more)
Ensure that the servers in the cluster are not running, this test is for checking the network connectivity.
Set the java environment on both the shells. Then enter the below syntax:
System 1 : java utils.MulticastTest -N Server1 -A 237.0.0.1 -P 7008 -T 10 -S 2
System 2 : java utils.MulticastTest -N Server2 -A 237.0.0.1 -P 7008 -T 10 -S 2
Both servers will start sending and receiving messages as below:
Server 1 :
Server 2 :
The screen shots show that there is no issue in the connectivity. But when there is a lost message, it will show the message:
Received message 142 from Server1
Received message 134 from Server2
I (Server1) sent message num 143
Received message 143 from Server1
Missed message for Server2? Last Seq 134 and just received 136
I (Server1) sent message num 144
Received message 144 from Server1
Received message 137 from Server2
I (Server1) sent message num 145
Received message 145 from Server1
Received message 138 from Server2
I (Server1) sent message num 146
Received message 146 from Server1
Received message 139 from Server2
Missed message for Server2? Last Seq 139 and just received 141
I (Server1) sent message num 147
Received message 147 from Server1
Received message 142 from Server2
I (Server1) sent message num 148
This means message number 135 and 140 are lost by server2. In this situation, you know there is an issue. Check with the network administrator on what went wrong.
If you need any clarifications on the test, please do let us know.
Best Regards.
Hello Team,
Well explained. why should the servers in the cluster be NOT running? what happens if they are running? does that break anything / cause any issue?
Best Regards,
Dinesh
Hi Dinesh,
The whole purpose of this test is that the multicast on the network between the systems is functioning properly so that you know that there will be no issue in communication between the servers. But it does not cause any issue even if the servers are running when you run the test.
Regards,
Divya
Perfect Divya!! I got the point. Many thanks
I understand that from Weblogic 10.x onwards the “Unicast” communication was introduced.
Do we already have a post on that? If not, would be great if you can create one, differentiating both.
Just a suggestion 🙂
Regards,
Dinesh
Hi Dinesh,
Thanks for the idea of the post, I have created a post on comparison between unicast and multicast messaging. Here is the link:
https://weblogic-wonders.com/weblogic/2010/12/17/comparison-between-cluster-multicast-messaging-and-unicast-messaging-mode/
Thanks again! Cheers!!
– Divya
Feeling good for considering my suggestion. I just read that. That was just wonderful.
I will post my question over there (if any)
-Cheers
Dinesh.
The above scenario is for 2 different boxes.
if i’m using a single box with 2 network card configured for 2 weblogic instances, how we can go about it?
The same test should work fine, you only need to keep the following in mind
Ensure that you have configured a UnixMachine instance from the WebLogic Server console and have specified an InterfaceAddress for each Server instance to handle multicast traffic.
Run /usr/sbin/ifconfig -a to check the MAC address of each machine in the multihomed environment. Ensure that each machine has a unique MAC address. If machines use the same MAC address, this can cause multicast problems.
Ref :- http://download.oracle.com/docs/cd/E12840_01/wls/docs103/cluster/multicast_configuration.html#wp1035138
Thanks,
Faisal
where do we have to run the multicast test command?
on the machines on which the servers are running..