2016-11-06 38 views
0

我在亞馬遜使用Riak 2.1.4系列。完全新的它,並有幾個問題:Riak「節點不可達」

  1. 我部署了一個Riak的實例。它部署在EC2實例中?
  2. 我們是否真的需要app.config和vm.args文件進行Riak配置。我認爲如果nodename在Riak.conf中可用,那足夠了嗎?
  3. 我看到實例的IP地址不同於在riak.conf中曾經配置過的那個好嗎?即節點名例如實例名是ec2-35-160-XXX-XX.us-west-2.compute.amazonaws.com和riak.conf具有[email protected]

在Riak.conf

ring_size = 64 

erlang.distribution.port_range.minimum = 6000 
erlang.distribution.port_range.maximum = 7999 

transfer_limit = 2 
search = on 

在每種情況下該結構存在僅更改。我在這裏錯過了什麼嗎?你可以給一個5節點集羣的示例配置嗎?

請幫我解決這個問題。

+0

2000端口(6000-7999)是一個非常大的範圍。所有這些端口(加上用於EPMD的端口4369)是否允許通過您的防火牆? – Joe

回答

1
  1. 我部署了一個Riak實例。它部署在EC2實例中?

你問不知道這裏是什麼

  • 我們真的需要的app.config和vm.args文件進行了Riak的配置。我認爲如果nodename在Riak.conf中可用那就是 夠了嗎?
  • 的 'App.config中' 和 'vm.args' 文件是配置了Riak的老路上。 'riak.conf'和'advanced.config'文件是新的方式。舊方法仍然可以接受,可能是爲了支持傳統安裝,但我希望在未來的發行版中支持它。見http://docs.basho.com/riak/kv/2.1.4/configuring/basic/

  • 我看到的實例的IP地址比riak.conf一次配置不同的是,細?即節點名稱例如 實例名稱是ec2-35-160-XXX-XX.us-west-2.compute.amazonaws.com和 riak.conf具有[email protected]
  • 一般來說,如果你想讓Erlang節點進行通信,他們必須能夠使用節點名稱找到彼此。節點名稱使用[email protected]模式。所有其他節點必須能夠將域部分解析爲對運行該節點的機器有效的IP地址,並且節點本身將用本地erlang端口映射器守護進程(EPMD)註冊本地部分。

    因此,[email protected]是否是一個有效的節點名稱將取決於您的羣集的其他節點到達該私有地址的能力。

    大多數riak-admin命令會在本地生成第二個維護節點,然後使用遠程過程調用與正在運行的Riak實例進行通信。所以如果那172.31.x.x IP地址實際上未分配給本地機器,那些riak-admin命令將無法找到要與之通話的節點。

    +0

    當我ping通另一個盒子時,主機無法到達,那麼這可能是riak無法到達其他節點的原因嗎?更新了Riak.conf更改。你能打開聊天嗎?今天我將在您的時間左右。謝謝 – Raghuveer

    +0

    運行riak的機器需要能夠通過網絡進行通信。如果基本Ping失敗,則需要先解決主機名/ IP /網絡/防火牆問題。一旦服務器可以進行通信,您就可以計算出允許Erlang節點形成分佈式羣集的節點名稱。 – Joe

    +0

    我有點晚,我已經在http://stackoverflow.com/questions/40495788/installed-riak-does-not-have-advanced-conf中發佈了詳細信息 – Raghuveer