我在简单程序中运行IDE(例如Netbeans)中的GridGain节点,并且从netbeans中的程序开始的所有节点都看到了彼此;从cmd.exe localy或远程主机上运行的所有节点互相看到,但从IDE运行的节点看不到本地或远程运行的节点;
所有尝试都是使用default-config.xml开箱即用的; 我也尝试使用明确设置的DiscoverySpi
我的情况是拥有远程节点并在编程时从程序与它们进行通信
答案 0 :(得分:1)
默认配置使用多播来发现节点。因此,您必须确保已启用多播并且正在网络中正常运行。
另一种方法是配置TcpDiscoveryVmIpFinder
并明确提供节点在加入拓扑时应尝试连接的IP地址列表。如果群集中有很多盒子,则不必提供所有可用的地址 - 2-3通常就足够了,您只需要确保首先启动那些盒子上的节点。
以下是配置示例:
<property name="discoverySpi">
<bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
<property name="ipFinder">
<bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
<property name="addresses">
<list>
<value>192.168.0.1:47500</value>
<value>192.168.0.2:47500</value>
<value>192.168.0.3:47500</value>
</list>
</property>
</bean>
</property>
</bean>
</property>
答案 1 :(得分:0)