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

Каждый узел в кластере 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

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

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

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