Using Clusters

      

Troubleshooting Multicast Configuration

Using IP multicasting, WebLogic Server instances in a cluster can share a single IP address and port number. This capability enables all members of a cluster to be treated as a single entity and enables members of the cluster to communicate among themselves.

The following sections provide suggestions for troubleshooting IP multicast configuration problems:

For general information on using and configuring multicast within a cluster, see Cluster Configuration and config.xml.

For information on configuring a multicast address from the console, see “ Clusters: Configuration: Multicast” in the Administration Console Online Help.

For general cluster troubleshooting suggestions, see Troubleshooting Common Problems.

 


Verifying Multicast Address and Port Configuration

The first step in troubleshooting multicast problems is to verify that you have configured the multicast address and port correctly. A multicast address must be correctly configured for each cluster.

Multicast address and port configuration problems are among the most common reasons why a cluster does not start or a server fails to join a cluster. The following considerations apply to multicast addresses:

 

Possible Errors

The following types of errors commonly occur due to multicast configuration problems:

 

Checking the Multicast Address and Port

To check the multicast address and port, do one of the following:

 


Identifying Network Configuration Problems

After you verify that the multicast address and port are configured correctly, determine whether network problems are interfering with multicast communication.

 

Physical Connections

Ensure that no physical problems exist in your network.

 

Address Conflicts

Address conflicts within a network can disrupt multicast communications.

 

nsswitch.conf Settings on UNIX Systems

On UNIX systems, you may encounter the UnkownHostExceptions error. This error can occur at random times even when the server is not under a heavy load. Check /etc/nsswitch.conf and change the order to ‘files,DNS,NIS' to avoid this error.

For more information, see the nsswitch.conf man page for your system.

 


Using the MulticastTest Utility

After you verify that the multicast address and port are configured correctly and there are no physical or configuration problems with your network, you can use utils.MulticastTest to verify that multicast is working and to determine if unwanted traffic is occurring between different clusters.

For instructions on using the MulticastTest utility, see “ MulticastTest” in “Using the WebLogic Server Java Utilities” in Command Reference.

If MulticastTest fails and the machine is multihomed, ensure that the primary address is being used. See Multicast and Multihomed Machines.

 


Tuning Multicast Features

The following sections describe how to tune various features of WebLogic Server to work with multicasting.

 

Multicast Timeouts

Multicast timeouts can occur during a Network Interface Card (NIC) failover. Timeouts can result in an error message like the following:

<Error><Cluster><Multicast socket receive error:

java.io.InterruptedIOException: Receive timed out>

When this error occurs, you can:

 

Cluster Heartbeats

Each WebLogic Server instance in a cluster uses multicast to broadcast regular heartbeat messages that advertise its availability. By monitoring heartbeat messages, server instances in a cluster determine when a server instance has failed.

The following sections describe possible solutions when cluster heartbeat problems occur.

Multicast Send Delay

Multicast Send Delay specifies the amount of time the server waits to send message fragments through multicast. This delay helps to avoid OS-level buffer overflow. This can be set via the MulticastSendDelay attribute of the Cluster MBean. For more information, see the WebLogic Server MBean Reference.

Operating System Parameters

If problems still occur after setting the Multicast Send Delay, you may need to set the following operating system parameters related to UDP settings:

If these parameters are set to a lower value (8K for example) there may be a problem if the multicast packet size is set to the maximum allowed (32K). Try setting these parameters to 64K.

 

Multicast Storms

A multicast storm is the repeated transmission of multicast packets on a network. Multicast storms can stress the network and attached stations, potentially causing end-stations to hang or fail.

Increasing the size of the multicast buffers can improve the rate at which announcements are transmitted and received, and prevent multicast storms. See Configure Multicast Buffer Size.

 

Multicast and Multihomed Machines

The following considerations apply when using multicast in a multihomed environment:

 

Multicast in Different Subnets

If multicast problems occur when cluster members are in different subnets you should configure Multicast-Time-To-Live. The value of the Multicast Time-To-Live (TTL) parameter for the cluster must be high enough to ensure that routers do not discard multicast packets before they reach their final destination.

The Multicast TTL parameter sets the number of network hops a multicast message makes before the packet can be discarded. Configuring the Multicast TTL parameter appropriately reduces the risk of losing the multicast messages that are transmitted among server instances in the cluster.

For more information, see Configure Multicast Time-To-Live (TTL).

 


Debugging Multicast

If you are still having problems with the multicast address after performing the troubleshooting tips above, gather debugging information for multicast.

 

Debugging Utilities

The following utilities can help you debug multicast configuration problems.

MulticastMonitor

MulticastMontior is a stand-alone Java command line utility that monitors multicast traffic on a specific multicast address and port. The syntax for this command is:

java weblogic.cluster.MulticastMonitor <multicast_address> <multicast_port> <domain_name> <cluster_name>

MulticastTest

The MulticastTest utility helps you debug multicast problems when you configure a WebLogic cluster. The utility sends out multicast packets and returns information about how effectively multicast is working on your network.

 

Debugging Flags

The following debug flags are specific to multicast:

Setting Debug Flags on the Command Line

Set these flags from the command line during server startup by adding the following options:

Setting Debug Flags by Using weblogic.Admin

Set debug flags using the weblogic.Admin utility. For example:

java weblogic.Admin -url t3://localhost:7001 - username weblogic -password weblogic SET -type ServerDebug -property DebugCluster true

Turn off debug flags by running the same command and setting the parameter to false.

 


Miscellaneous Issues

The following sections describe miscellaneous multicast issues you may encounter.

 

Multicast on AIX

AIX version 5.1 does not support IPv4 mapped multicast addresses. If you are using an IPv4 multicast address, you cannot join a multicast group even if you are switching to IPv6. When running MulticastTest on AIX, use the order on the command line specified in the following example:

java -Djava.net.preferIPv4Stack=true utils.Multicast <options>

Additionally, verify the following settings on AIX to properly configure cluster operations:

 

File Descriptor Problems

Depending on the operating system, there may be problems with the number of file descriptors open. On UNIX, you can use loses to determine how many files on disk a process has open. If a problem occurs, you may need to increase the number of file descriptors on the machine.

 


Other Resources for Troubleshooting Multicast Configuration

The following resources may be helpful in resolving multicast problems: