分享

weblogic集群受管服务器报

 1qxm19 2019-11-14

weblogic集群在多播情况下,启动受管服务器报错<Error> <Cluster> <BEA-000110><Error> <Cluster> <BEA-000109> ,折磨了我好几天,今天终于找到答案了。以下是报的错:

<2015-1-31 下午09时48分24秒 CST> <Error> <Cluster> <BEA-000110> <Multicast socket receive error: java.net.SocketException: Socket closed
java.net.SocketException: Socket closed
at java.net.PlainDatagramSocketImpl.receive0(Native Method)
at java.net.AbstractPlainDatagramSocketImpl.receive(AbstractPlainDatagramSocketImpl.java:146)
at java.net.DatagramSocket.receive(DatagramSocket.java:816)
at weblogic.cluster.MulticastFragmentSocket.receive(MulticastFragmentSocket.java:239)
at weblogic.cluster.FragmentSocketWrapper.receive(FragmentSocketWrapper.java:98)
Truncated. see log file for complete stacktrace

<2015-1-31 下午09时48分24秒 CST> <Error> <Cluster> <BEA-000109> <An error occurred while sending multicast message: java.io.IOException: Invalid argument
java.io.IOException: Invalid argument
at java.net.PlainDatagramSocketImpl.send(Native Method)
at java.net.DatagramSocket.send(DatagramSocket.java:697)
at weblogic.cluster.MulticastFragmentSocket.sendThrottled(MulticastFragmentSocket.java:206)
at weblogic.cluster.MulticastFragmentSocket.send(MulticastFragmentSocket.java:158)
at weblogic.cluster.FragmentSocketWrapper.send(FragmentSocketWrapper.java:91)
Truncated. see log file for complete stacktrace

解决方法:

1. 查看多播的端口是否为7001

如果是7001,那么要改掉。因为7001是控制台的默认端口。改成多播的默认端口7777;

2. 修改setDomainEnv.sh文件

以下部分,红色字体为新增加的内容:

if [ "${debugFlag}" = "true" ] ; then
        JAVA_DEBUG="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=${DEBUG_PORT},server=y,suspend=n -Djava.compiler=NONE"
        export JAVA_DEBUG
        JAVA_OPTIONS="${JAVA_OPTIONS} ${enableHotswapFlag} -ea -da:com.bea... -da:javelin... -da:weblogic... -ea:com.bea.wli... -ea:com.bea.broker... -ea:com.bea.sbconsole...-Djava.net.preferIPv4Stack=true"
        export JAVA_OPTIONS
else        JAVA_OPTIONS="${JAVA_OPTIONS} ${enableHotswapFlag} -da -Djava.net.preferIPv4Stack=true"
        export JAVA_OPTIONS

然后重启受管服务器,然后就是见证奇迹的时候了!

原因:集群之间使用多播来通信的时候,目前的版本是需要IPV4来实现,IPv6不可以,所以要明确指出IPv4,屏蔽IPv6。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多