2015-02-12 63 views
0

我是Hazelcast的新手,我试图在两台不同的计算机(和IP)上开发一个包含两个实例的项目。假设这两个是IP:10.200.1.1和10.200.2.2。这两个项目在Eclipse上火星/ Tomcat的工作,7两台计算机上的Hazelcast实例互不识别

这里是我的配置:

Config cfg = new Config(); 
NetworkConfig network = cfg.getNetworkConfig(); 

JoinConfig join = network.getJoin(); 
join.getMulticastConfig().setEnabled(false); 
join.getTcpIpConfig().addMember("10.200.1.1") 
    .addMember("10.200.2.2").setEnabled(true); 
network.getInterfaces().setEnabled(true) 
    .addInterface("10.200.2.2").addInterface("10.200.1.1"); 
HazelcastInstance instance = Hazelcast.newHazelcastInstance(); 

我看到个别这篇日志,我确认这两个实例工作:

Şub 12, 2015 9:26:01 AM com.hazelcast.config.XmlConfigLocator 
INFO: Loading 'hazelcast-default.xml' from classpath. 
Şub 12, 2015 9:26:01 AM com.hazelcast.instance.DefaultAddressPicker 
INFO: [LOCAL] [dev] [3.4] Prefer IPv4 stack is true. 
Şub 12, 2015 9:26:02 AM com.hazelcast.instance.DefaultAddressPicker 
INFO: [LOCAL] [dev] [3.4] Picked Address[192.168.56.1]:5701, using socket ServerSocket[addr=/0:0:0:0:0:0:0:0,localport=5701], bind any local is true 
Şub 12, 2015 9:26:02 AM com.hazelcast.spi.OperationService 
INFO: [192.168.56.1]:5701 [dev] [3.4] Backpressure is disabled 
Şub 12, 2015 9:26:02 AM com.hazelcast.spi.impl.BasicOperationScheduler 
INFO: [192.168.56.1]:5701 [dev] [3.4] Starting with 4 generic operation threads and 8 partition operation threads. 
Şub 12, 2015 9:26:02 AM com.hazelcast.system 
INFO: [192.168.56.1]:5701 [dev] [3.4] Hazelcast 3.4 (20141224 - 3dc5214) starting at Address[192.168.56.1]:5701 
Şub 12, 2015 9:26:02 AM com.hazelcast.system 
INFO: [192.168.56.1]:5701 [dev] [3.4] Copyright (C) 2008-2014 Hazelcast.com 
Şub 12, 2015 9:26:02 AM com.hazelcast.instance.Node 
INFO: [192.168.56.1]:5701 [dev] [3.4] Creating MulticastJoiner 
Şub 12, 2015 9:26:02 AM com.hazelcast.core.LifecycleService 
INFO: [192.168.56.1]:5701 [dev] [3.4] Address[192.168.56.1]:5701 is STARTING 
Şub 12, 2015 9:26:05 AM com.hazelcast.cluster.impl.MulticastJoiner 
INFO: [192.168.56.1]:5701 [dev] [3.4] 


Members [1] { 
    Member [192.168.56.1]:5701 this 
} 

Şub 12, 2015 9:26:05 AM com.hazelcast.core.LifecycleService 
INFO: [192.168.56.1]:5701 [dev] [3.4] Address[192.168.56.1]:5701 is STARTED 

但他们不互相看不到。没有防火墙问题,我可以通过使用telnet连接每个两个端口,并确认没有网络问题。

我该怎么办?

Hazelcast版本是3.4

回答

6

的配置似乎是正确的,但是你必须把它传递给当你创建一个新的Hazelcast实例的工厂方法。取而代之的

HazelcastInstance instance = Hazelcast.newHazelcastInstance(); 

你应该使用:

HazelcastInstance instance = Hazelcast.newHazelcastInstance(config); 
+0

非常感谢您!有时我会失明......因为所有复杂的东西,我忘了最简单的部分。再次感谢你! – 2015-02-13 07:30:36

+0

非常欢迎你!这对我们来说实际上是一个很好的投入 - 也许我们应该让程序化配置更易于使用。 – 2015-02-13 09:40:57

相关问题