Я создал кластер Riak на трех компьютерах Raspberry Pi. vm.args
и app.config
файлы проверены дважды на каждом узле (статический адрес IP корректны).
Все узлы допустимы:
# ./riak-admin member-status
================================= Membership ==================================
Status Ring Pending Node
-------------------------------------------------------------------------------
valid 0.0% 32.8% 'riak@192.168.8.214'
valid 0.0% 32.8% 'riak@192.168.8.215'
valid 100.0% 34.4% 'riak@192.168.8.59'
-------------------------------------------------------------------------------
Valid:3 / Leaving:0 / Exiting:0 / Joining:0 / Down:0
И они - все:
# ./riak-admin ring_status
================================== Claimant ===================================
Claimant: 'riak@192.168.8.59'
Status: up
Ring Ready: true
============================== Ownership Handoff ==============================
Owner: riak@192.168.8.59
Next Owner: riak@192.168.8.214
Index: 0
Waiting on: [riak_kv_vnode,riak_pipe_vnode]
(... skipping index's)
-------------------------------------------------------------------------------
Owner: riak@192.168.8.59
Next Owner: riak@192.168.8.215
(... skipping index's)
-------------------------------------------------------------------------------
============================== Unreachable Nodes ==============================
All nodes are up and reachable
Я могу проверить с помощью ping-запросов каждый узел на порте Riak, и он возвращается OK
. Проблема следующая: Если я добавляю простое значение ключа, оно возвращается all_nodes_down
ошибка.
Например, здесь я пробую к значению атрибута Allo
к ключи hello
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
.
Вместе с тем, что Джо сказал о проверке логов в /var/log/riak
, проверьте эти команды:
riak-admin transfer-limit
- убедитесь, что это не 0
.riak-admin transfers
- повторяйте эту команду, используя часы GNU, каждые 5 секунд или около того, чтобы убедиться, что передачи происходят. Если нет, проверьте свои лог-файлы на наличие ошибок.