Назад | Перейти на главную страницу

Ошибка Riak all_nodes_down, но они работают

Я построил Риак кластер на трех 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

Я могу пинговать каждый узел порта 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 watch каждые 5 секунд или около того, чтобы убедиться, что передача происходит. Если нет, проверьте файлы журнала на наличие ошибок.