GridGain节点启动失败 - 节点启动期间的java.net.ConnectException

时间:2015-01-19 15:41:33

标签: gridgain

我们有一个计算网格原型(GG 6.5.5),可以在本地计算机(Win7)上正常运行,但是当部署在Windows Server 2008 R2 SP2上时,即使是简单的节点启动也会失败。

服务器上的行为:

  • 在节点启动期间,会多次抛出java套接字异常(见下文)。
  • 在尝试沟通停止(显然也是例外)之后,我想,5-10分钟没有任何事情发生。
  • 在这些5-10分钟之后,在某些情况下节点会以某种方式出现,加入网格并能够接收任务。我们无法确定这种行为的模式。

一开始我们怀疑问题可能是由阻塞或使用的端口引起的,所以我们修改了配置文件中使用的端口,但它没有帮助解决问题。

  • 在控制台输出中,我们收到GG的通知,说明它未在Windows Server 2008 R2 SP2"上进行全面测试,是否意味着GridGain与此操作系统不兼容

  • 未来网格也将包含linux机器,是否有支持和不兼容的Linux版本以及其他操作系统列表?

  • 重要的是要提到服务器没有互联网访问权限,因为在GG启动时它会尝试检查新版本是否可用,这可能是导致问题的原因吗?没有安装防火墙软件。

  • 是否可以禁用此新版本检查(可能还有其他一些检查)以加快节点启动过程?

我希望有一个解决方案,非常感谢提前!

例外:

2015-01-08 17:17:10,078 ERROR [main]: Exception on direct send: Connection refused: connect
java.net.ConnectException: Connection refused: connect
        at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
        at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
        at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
        at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
        at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
        at java.net.PlainSocketImpl.connect(Unknown Source)
        at java.net.SocksSocketImpl.connect(Unknown Source)
        at java.net.Socket.connect(Unknown Source)
        at org.gridgain.grid.spi.discovery.tcp.GridTcpDiscoverySpi.openSocket(GridTcpDiscoverySpi.java:2098)
        at org.gridgain.grid.spi.discovery.tcp.GridTcpDiscoverySpi.sendMessageDirectly(GridTcpDiscoverySpi.jav
        at org.gridgain.grid.spi.discovery.tcp.GridTcpDiscoverySpi.sendJoinRequestMessage(GridTcpDiscoverySpi.
        at org.gridgain.grid.spi.discovery.tcp.GridTcpDiscoverySpi.joinTopology(GridTcpDiscoverySpi.java:1599)
        at org.gridgain.grid.spi.discovery.tcp.GridTcpDiscoverySpi.spiStart0(GridTcpDiscoverySpi.java:1084)
        at org.gridgain.grid.spi.discovery.tcp.GridTcpDiscoverySpi.spiStart(GridTcpDiscoverySpi.java:982)
        at org.gridgain.grid.kernal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:220)
        at org.gridgain.grid.kernal.managers.discovery.GridDiscoveryManager.start(GridDiscoveryManager.java:38
        at org.gridgain.grid.kernal.GridKernal.startManager(GridKernal.java:1559)
        at org.gridgain.grid.kernal.GridKernal.start(GridKernal.java:756)
        at org.gridgain.grid.kernal.GridGainEx$GridNamedInstance.start0(GridGainEx.java:1949)
        at org.gridgain.grid.kernal.GridGainEx$GridNamedInstance.start(GridGainEx.java:1289)
        at org.gridgain.grid.kernal.GridGainEx.start0(GridGainEx.java:832)
        at org.gridgain.grid.kernal.GridGainEx.start(GridGainEx.java:759)
        at org.gridgain.grid.kernal.GridGainEx.start(GridGainEx.java:677)
        at org.gridgain.grid.kernal.GridGainEx.start(GridGainEx.java:524)
        at org.gridgain.grid.kernal.GridGainEx.start(GridGainEx.java:494)
        at org.gridgain.grid.GridGain.start(GridGain.java:314)
        at org.gridgain.grid.startup.cmdline.GridCommandLineStartup.main(GridCommandLineStartup.java:293)

2 个答案:

答案 0 :(得分:0)

我认为您遇到的问题与操作系统无关,无论是Windows还是Linux。很可能你在某个地方启用了防火墙,无论是在操作系统本地还是远程,这个防火墙阻止了一个方向的流量。

尝试禁用所有软件防火墙,并查看行为是否有所改善。如果是,则可以尝试重新启用防火墙并修复其设置。

答案 1 :(得分:0)

Alex_V,

您能提供配置文件吗? 请提供起始节点的完整日志 - ggstart.bat -v ... 或者将-DGRIDGAIN_QUIET = false添加到JVM属性。

从您提供的堆栈跟踪中我看到启动时发生异常。您是否能够在win 2008上启动节点?有多少台主机?它们是在1个网络中还是路由配置正确?

  1. 当你看到节点被冻结时,你可以请一个threaddump并将其发布在这里。
  2. GridGain未使用Windows Server进行全面测试的日志消息并不意味着不兼容。而且,我希望它能起作用。它现在没有像其他win系统那样彻底测试。
  3. 单一拓扑可能包括win,mac和linux机器,没有任何限制或性能影响。几乎所有流行的Linux发行版都受到支持。
  4. 您可以通过向JVM属性添加-DGRIDGAIN_UPDATE_NOTIFIER = false来跳过版本检查,但我认为这不会导致任何问题。