Каждый узел в кластере Riak хочет передать 54 раздела?

Сейчас у Riak-кластера с 6 узлами очень большая задержка и время ожидания. Когда я иду, чтобы проверить riak-admin transfers Я получаю следующее:

ubuntu@ip-172-31-38-8:~$ riak-admin transfers
'riak@prod-riak-19' waiting to handoff 54 partitions
'riak@prod-riak-18' waiting to handoff 54 partitions
'riak@prod-riak-17' waiting to handoff 53 partitions
'riak@prod-riak-16' waiting to handoff 53 partitions
'riak@prod-riak-15' waiting to handoff 53 partitions
'riak@prod-riak-14' waiting to handoff 53 partitions

С тех пор я отключил активную антиэнтропию и все еще испытываю высокую задержку, но, похоже, больше ничего не доставляет нам проблем. Когда я проверяю журналы ошибок, никаких ошибок за последние 5 часов нет.

Загрузка процессора выглядит следующим образом:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 4016 riak      20   0 3775m 564m 6224 S    9  3.8   3:34.90 beam.smp

таким образом, машина явно не исчерпана. Это признак повреждения данных? Что здесь может происходить? Спасибо

1 ответ

Когда запускается узел Riak, он порождает vnode для каждого раздела в кольце, даже для тех, которые ему не принадлежат. Каждый vnode, которому он не принадлежит, попытается выполнить передачу обслуживания узлу, которому он принадлежит, и после успешной передачи обслуживания завершит работу. Эти передачи обслуживания подлежат лимиту передачи.

Если у вас размер кольца 64, то каждому узлу будет принадлежать 10 или 11 vnode. Вывод передачи, который вы показали, будет ожидаемым, если не будет завершена рука хэндовера с момента последнего перезапуска всего кластера.

Другие вопросы по тегам