Нужны некоторые разъяснения по запуску ремонта Cassandra nodetool

Поэтому у нас возникли проблемы с балансировкой нашей рабочей нагрузки в нашем текущем кластере, в основном из-за бюджетных ограничений и невозможности добавить больше узлов в это время. До недавнего времени частое отключение узла происходило часто, поэтому я часто выполнял восстановление nodetool. В последнее время кластер стал более стабильным, и эти сбитые узлы не происходят регулярно, поэтому на прошлых выходных я создал задания cron для восстановления nodetool -pr на каждом узле, который будет запускаться еженедельно. Значение gc_grace по-прежнему составляет 10 дней по умолчанию, а максимальные значения по умолчанию - 3 часа.

Мои вопросы:

  1. Если мы потеряем узел более чем на 3 часа, что именно произойдет с подсказками? Это / они больше не существуют?
  2. Если мы потеряли узел дольше, чем на 3 часа, но по какой-то причине не осознали, что узел так долго не работал, что произойдет, если будет запущено восстановление -tool-утилиты node -pr, а не полное восстановление на сбойном узле?
  3. Как бы вы решили проблему с вопроса 2, если это действительно так?
  4. Есть ли способ проверить, что все узлы значительно исправны / отремонтированы?

Этого еще не произошло (по крайней мере, я так не думаю), но я пытаюсь планировать заранее для худшего сценария, так как стабильность нашего кластера может или не может потеряться в долгосрочной перспективе, поэтому я предпочел бы быть готовым, как я могу Можно.

1 ответ

Решение

1) Если мы потеряем узел более чем на 3 часа, что именно произойдет с подсказками? Это / они больше не существуют?

Да, верно, ваши подсказки будут удалены (захоронены), и они уйдут через обычный процесс уплотнения. Вы можете увидеть это сами, просто выберите из system.hints Таблица.

Проверьте наши документы и сообщение в блоге Джонатана на HH.

2) Если мы потеряли узел дольше, чем на 3 часа, но по какой-то причине не поняли, что узел так долго не работал, что произойдет, если будет запущено восстановление -totool для узла -pr, а не полное восстановление на сбойном узле?

В течение периода между восстановлением этого узла и текущим ремонтом вы можете сохранять устаревшие данные.

-pr означает, что вы просто ремонтируете основные диапазоны на этой машине. Если вы выполняете ремонт с помощью -pr в вашем кластере, вы все равно будете восстанавливать все.

Вместо того, чтобы использовать chron, я рекомендую вам попробовать сервис по ремонту OpsCenter, который автоматизирует этот процесс.

3) Как бы вы решили проблему (и) из вопроса 2, если это действительно так?

Ремонт вернет вас к исходному уровню полной согласованности, поэтому вы должны запускать его еженедельно (или в

4) Есть ли способ проверить, что все узлы значительно исправны / отремонтированы?

Единственный способ - построить деревья Меркель, что и делает ремонт. Вы также можете починить, если обнаружите несоответствие. Нет способа просто сравнить без ремонта.

ПРИМЕЧАНИЕ: приятные подсказки улучшений, которые появятся в 3.0, прочитайте этот пост Алексея: http://www.datastax.com/dev/blog/whats-coming-to-cassandra-in-3-0-improved-hint-storage-and-delivery

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