2015-02-12 64 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

相關問題