Riak all_nodes_down 错误,但它们已启动

Riak all_nodes_down 错误,但它们已启动

我建了一个里亚克聚集在三个树莓派计算机vm.argsapp.config文件在每个节点上都经过双重检查(静态 IP 地址是否正确)。

所有节点均有效:

# ./riak-admin member-status 
================================= Membership ==================================
Status     Ring    Pending    Node
-------------------------------------------------------------------------------
valid       0.0%     32.8%    '[email protected]'
valid       0.0%     32.8%    '[email protected]'
valid     100.0%     34.4%    '[email protected]'
-------------------------------------------------------------------------------
Valid:3 / Leaving:0 / Exiting:0 / Joining:0 / Down:0

它们全都起来了:

# ./riak-admin ring_status  
================================== Claimant ===================================
Claimant:  '[email protected]'
Status:     up
Ring Ready: true

============================== Ownership Handoff ==============================
Owner:      [email protected]
Next Owner: [email protected]

Index: 0
  Waiting on: [riak_kv_vnode,riak_pipe_vnode]

(... skipping index's)

-------------------------------------------------------------------------------
Owner:      [email protected]
Next Owner: [email protected]

(... skipping index's)

-------------------------------------------------------------------------------

============================== Unreachable Nodes ==============================
All nodes are up and reachable

我可以 ping Riak 端口上的每个节点,它返回OK。问题如下:如果我添加简单的键值,它会返回错误all_nodes_down

例如,在这里我尝试将值赋予Allohello fr

# curl -XPUT http://192.168.8.59:8098/riak/hello/fr -d ‘Allo’
Error:
all_nodes_down

在构建集群之前,当我只有一个节点时,我使用 localhost 添加了此密钥,并且可以毫无问题或错误地检索它。

我查看了 basho.com 上的邮件列表,似乎当环错误时会发生此错误,例如,如果管理员更改索赔节点的名称而不清理环等,但这不是我的情况。在配置和 Riak 启动之前,每个节点上的环都已清除。我不是一个有经验的系统管理员,我对分布式系统一无所知,所以如果有人有想法或建议,请分享。

编辑:

来自官方 Riak 文档的建议:

http://docs.basho.com/riak/latest/ops/running/recovery/errors/

Check riak-admin member-status and ensure that all expected nodes in the cluster are of valid Status

正如您在我的命令结果中看到的riak-admin member-status,所有节点都列为valid

答案1

除了 Joe 所说的检查日志之外/var/log/riak,还要检查以下命令:

  • riak-admin transfer-limit- 确保这不是0
  • riak-admin transfers- 每 5 秒左右使用 GNU watch 重新运行此命令,以确保传输正在进行。如果没有,请检查日志文件中是否有错误。

相关内容