使用 WebLogic Server 群集

     上一页  下一页    在新窗口中打开目录     
在此处开始内容

多播配置故障排除

使用 IP 多播时,群集中的 WebLogic Server 实例可以共享一个 IP 地址和端口号。此功能使得群集的所有成员可被视为一个实体,并且使得群集成员能够互相通信。

下列部分提供了对 IP 多播配置问题进行故障排除的建议:

有关在群集中使用和配置多播的常规信息,请参阅群集配置和 config.xml

有关在控制台中配置多播地址的信息,请参阅“管理控制台联机帮助”中的多播

 


验证多播地址和端口配置

多播问题故障排除过程的第一步是验证您是否正确配置了多播地址和端口。必须为每个群集正确配置多播地址。

多播地址和端口配置问题属于群集无法启动或者服务器无法加入群集的最常见原因。对于多播地址要注意下列事项:

可能的错误

由于多播配置问题经常会出现下列类型的错误:

检查多播地址和端口

要检查多播地址和端口,请执行下列操作:

 


识别网络配置问题

验证了多播地址和端口配置正确之后,请确定网络问题是否正在干扰多播通信。

物理连接

确保网络中不存在物理问题。

地址冲突

网络中的地址冲突可能会对多播通信造成干扰。

UNIX 系统上的 nsswitch.conf 设置

在 UNIX 系统上,您可能会遇到 UnkownHostExceptions 错误。此错误可能会在任何时间发生,甚至当服务器的负载不是很重的情况下也会发生。检查 /etc/nsswitch.conf 并将顺序更改为`files,DNS,NIS'可避免此错误。

有关详细信息,请参阅系统的 nsswitch.conf 联机手册页。

 


使用 MulticastTest 实用工具

验证了多播地址和端口配置正确,并且网络没有物理或配置问题之后,您可以使用 utils.MulticastTest 来验证多播是否正在运行并确定不同群集之间是否正在发生不希望的流量。

如果 MulticastTest 失败并且计算机是多宿主计算机,则请确保正在使用主地址。请参阅多播和多宿主计算机

 


调整多播功能

下列部分描述了如何调整 WebLogic Server 的各种功能使其与多播一起运行。

多播超时

多播超时可能会在网络接口卡(Network Interface Card,简称 NIC)故障转移期间发生。超时可能会导致如下的错误消息:

<Error><Cluster><Multicast socket receive error:
java.io.InterruptedIOException: Receive timed out>

发生此错误时,您可以:

群集心跳

群集中的每个 WebLogic Server 实例均使用多播来广播通告其可用性的定期心跳消息。群集中的服务器实例通过监视心跳消息来确定某个服务器实例是何时失败的。

下列部分描述了发生群集心跳问题时的可能解决方案。

多播发送延迟

多播发送延迟指定服务器等待通过多播发送消息片断的时间长度。此延迟有助于避免发生 OS 级的缓冲区溢出。此内容可以通过 Cluster Mbean 的 MulticastSendDelay 特性进行设置。有关详细信息,请参阅 Cluster Mbean Javadoc

操作系统参数

如果设置了多播发送延迟之后问题仍然存在,则可能需要设置与 UDP 设置相关的下列操作系统参数:

如果这些参数设置的值较低(例如 8K),则当多播数据包大小设置为最大允许大小 (32K) 时,可能会出现问题。请尝试将这些参数设置为 64K。

多播风暴

多播风暴指的是网络上多播数据包的重复传输。多播风暴可能会对网络和相连的工作站带来极大压力,从而可能会导致端点站挂起或失败。

增加多播缓冲区的大小可能会提高通知传输和接收的速度,防止多播风暴。请参阅配置多播缓冲区大小

多播和多宿主计算机

在多宿主环境中使用多播时要注意下列事项:

不同子网上的多播

如果群集成员位于不同子网上时发生多播问题,则应该配置多播生存时间。群集的多播生存时间(Multicast Time-To-Live,简称 TTL)参数必须足够高,可以确保路由器不会在多播数据包到达其最终目标之前放弃这些多播数据包。

多播 TTL 参数设置可以放弃数据包之前多播消息进行的网络跃点数。对多播 TTL 参数进行合适配置会降低在群集服务器实例之间传输的多播消息发生丢失的危险。

有关详细信息,请参阅配置多播生存时间 (TTL)

 


调试多播

如果执行了上述故障排除提示之后仍然存在多播地址问题,则请收集多播的调试信息。

调试实用工具

下列实用工具可帮助您调试多播配置问题。

MulticastMonitor

MulticastMontior 是一个独立的 Java 命令行实用工具,它监视特定多播地址和端口上的多播流量。此命令的语法为:

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

MulticastTest

MulticastTest 实用工具可帮助您在配置 WebLogic 群集时调试多播问题。该实用工具发出多播数据包,返回多播如何在网络上高效运行的相关信息。

调试标志

下列调试标志特定于多播:

在命令行上设置调试标志

通过添加下列选项,在服务器启动期间在命令行中设置这些标志:

使用 weblogic.Admin 设置调试标志

使用 weblogic.Admin 实用工具设置调试标志。例如:

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

通过运行同一个命令并将该参数设置为 false 可关闭调试标志。

 


杂项问题

下列部分描述了您可能遇到的杂项多播问题。

AIX 上的多播

AIX version 5.1 不支持 IPv4 映射的多播地址。如果使用 IPv4 多播地址,则不能加入多播组,即使您切换到 IPv6 也不行。在 AIX 上运行 MulticastTest 时,请使用下列示例中指定命令行上的顺序:

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

另外,请验证 AIX 上的下列设置以正确配置群集操作:

文件描述符问题

根据操作系统的不同,打开的文件描述符数可能会出现问题。在 UNIX 上,您可以使用 loses 来确定在磁盘上某个过程打开了多少个文件。如果出现问题,您则可能需要在该计算机上增加文件描述符数。

 


多播配置故障排除的其他资源

下列资源可能有助于解决多播问题:


  返回顶部       上一页  下一页