2016-02-09 106 views
2

如果我們想在運行在多個docker容器上的實例之間形成Hazelcast羣集,是否有人知道需要在Hazelcast.xml中完成配置?我們應該提供127.0.0.1作爲成員的地址還是地址應該是碼頭主機的地址? local.localAddress屬性還需要指向docker主機地址嗎?創建在多個Docker容器上運行的HazelCast羣集

編輯:

我們確實可以通過設置公共IP一些變化,並能夠形成集羣,但與限制,雖然在主機的搬運工運行命令端口定義端口映射應該是一樣的集裝箱港口,如果我們設置主機的不同的端口並映射它hazelcast像8047端口:5071這是行不通它必須是5701:5701,任何想法,爲什麼這樣的行爲

+0

要將哪個環境部署到?任何類型的服務發現(zookeper,eureka,kubernetes,...)都可用? – noctarius

+0

沒有服務發現它在同一子網中運行docker容器的兩臺不同機器具有hazelcast實例 –

+0

@PunitGoel如果你的docker容器在不同的機器上,你如何形成一個集羣? (通過組播或指定hazelcast.xml中的計算機的IP地址) –

回答

0

可以設置在hazelcast配置的public-address屬性作爲IP的主機。這將允許節點加入羣集。

<network> 
    <public-address>host-machine-ip</public-address> 
</network> 
+0

我們正在設置公共IP,並且能夠形成集羣,但是有一個限制,即在docker run端口映射中定義端口映射時,主機端口應該與容器端口相同如果我們設置不同的主機端口並將其映射到8051:5071這樣的hazelcast端口,它不起作用它必須是5701:5701,任何想法爲什麼這樣的行爲 –

+0

默認情況下,hazelcast會嘗試使用5071端口加入。但是當你將主機端口映射爲8047時,它無法找到它。你可以做的是提供映射的端口作爲下一個節點的成員。 like' memberIp:8047' –

+0

謝謝Saril,現在這樣工作 –

相關問題