Apache Ignite - 未发现在远程计算机上运行的节点

时间:2017-08-15 17:10:19

标签: ignite

Apache Ignite版本是:2.1.0

我正在使用TcpDiscoveryVmIpFinder配置Apache Ignite群集中的节点以设置计算网格。下面是我的配置,它只是为IP地址编辑的example-default.xml:

    <property name="discoverySpi">
        <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
            <property name="ipFinder">
                <!--
                    Ignite provides several options for automatic discovery that can be used
                    instead os static IP based discovery. For information on all options refer
                    to our documentation: http://apacheignite.readme.io/docs/cluster-config
                -->
                <!-- Uncomment static IP finder to enable static-based discovery of initial nodes. -->
                <!--<bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">-->
                <!-- <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder">  -->
                <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
                    <property name="addresses">
                        <list>
                            <!-- In distributed environment, replace with actual host IP address. -->
                            <value>xxx.40.16.yyy:47500..47509</value>
                            <value>xx.40.16.zzz:47500..47509</value>
                        </list>
                    </property>
                </bean>
            </property>
        </bean>
    </property>

如果我在单个计算机上启动多个节点,则各个计算机上的节点会相互发现并形成一个集群。但是,远程计算机上的节点不会相互发现。

任何建议都会有所帮助......

1 个答案:

答案 0 :(得分:2)

首先,确保您确实使用此配置文件而不是默认配置。使用默认配置,节点只能在同一台计算机上找到对方。

一旦您检查了它,您还需要测试它是否可以通过47500..47509端口从主机106.40.16.64连接到106.40.16.121(反之亦然)。可能存在防火墙阻塞连接或这些端口只是关闭。

例如,可以使用 netcat 进行检查,从106.40.16.64主机运行:

nc -z 106.40.16.121 47500