2016-11-06 48 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