2016-01-14 58 views
2

我正面臨aerospike的問題。aerospike客戶端和服務器

我必須有IP 192.168.1.2192.168.1.3

我塞的NodeJS客戶端配置了192.168.1.2兩個節點羣集,但是當我重新啓動此節點。那麼我的客戶端無法與羣集連接。

問題1:我應該在客戶端添加多個IP嗎?

問題2:如果我需要添加多個IP當我將另一個節點添加到羣集時會發生什麼?我必須編輯我的客戶端配置?

問題3:假設我添加第三個節點,其中ip是:192.168.1.4。什麼是步驟或將此節點添加到此羣集中?我需要編輯每個現有的節點配置文件並添加mesh-seed-address-port 192.168.1.4 3002

注:我的aerospike配置爲默認配置。我在每個節點上只添加了mesh-seed-address-port 192.168.1.3 3002,其中mesh-seed-address-port爲192.168.1.2 3002 &。

回答

3

您可以提供兩個IP地址。當一個節點關閉時,客戶端在連接到它時會超時,並嘗試另一個IP地址。它只需要一個成功的連接來'聚合'羣集(意味着它在這一點上學習其他節點和分區表),所以它在第一個工作後停止。

var config = { 
    hosts: [ 
    { addr: '192.168.1.2', port: 3000 }, 
    { addr: '192.168.1.3', port: 3000 } 
    ] 
} 

對於更大的集羣通常人們建立一個域名服務器(如BIND)和服務於使用循環的IP地址之一。這使您可以將主機名稱作爲地址,這是一種更簡潔的方法。名稱服務器允許您延遲添加和刪除節點IP,而不用擔心。 (3)您可以提供幾行mesh-seed-address-port行,這樣如果某個行不可用,您仍然可以將節點添加到集羣中。查看Mesh (Unicast) Heartbeat瞭解更多信息。新節點需要位於mode mesh,並且有明確的IP address。如果您沒有使用網格,最好使用multicast用於心跳。

+0

我將使用aws,使多播不可能。 –

+0

我明白了。通常我的意思是,你可以使用網格或多播。 –

+0

另一個問題是,如果1節點啓動並運行100 GB的數據,然後向集羣添加另一個1節點。那麼需要多少時間重新平衡所有的東西(複製因子2)呢? (大約),並且在那個時候發生重新平衡時,羣集將服務於任何客戶端請求? –