Cassandra nodetool ремонт / обновление

У меня кластер cassandra с версией 2.0.9 работает. Nodetool не запускается с момента запуска (так как его не просили запланировать эти ремонтные работы). Каждый узел имеет около 8 ГБ данных. Это кажется довольно маленьким для меня. Когда я пытаюсь запустить восстановление nodetool, оно кажется вечным (не завершенным через 2 дня).

Я не вижу никакого прогресса. Я читал темы, в которых вам говорят, что нужно проверять состояния сжатия и netstats, но они указывают на отсутствие трафика. Однако команда восстановления nodetool никогда не завершается. Это не кажется мне нормальным. Я получил сообщения о том, что системное пространство ключей восстанавливается и работает нормально. Однако фактические данные, которые мы добавили, ничего не возвращают. Все узлы работают. Я проверил в system.log (CentOS 6 BTW) на наличие ошибок, и их нет. Я запустил команду, которая проверяет, продолжает ли увеличиваться количество команд и ответов (что имеет место), однако мне интересно, может ли это быть из-за чего-то другого или это напрямую связано с восстановлением nodetool. Кажется, что нет никакого IO/ чистого насыщения. Поэтому вчера я снова начал ремонт с помощью инструмента range-repair.py. Последние 12 часов не было никакого дополнительного выхода. Последний вывод был:

INFO       2015-11-01 20:55:46,268 repair               line: 296 : [1/256] repairing range (-09214247901397780884, -09166106147119295777) in 100 steps for keyspace <all>

Основная проблема, связанная с тем, что это восстановление занимает вечность (или просто ремонт зависает), заключается в том, что мы хотим обновить cassandra для развертывания приложений. Процедура говорит, сначала сделайте восстановление nodetool. Это действительно необходимо, прежде чем начать обновление? Возможно, nodetool работает более эффективно (теперь у вас также есть инкрементная опция).

Кто может помочь мне здесь? Заранее большое спасибо!

1 ответ

Решение

Я не уверен, что это полностью решило проблему, однако после повторного перезапуска всего кластера казалось, что восстановление nodetool могло завершиться там, где раньше этого не происходило. Для другого пространства ключей у меня возникла проблема, что мне приходилось запускать процесс снова и снова, чтобы получить какой-либо прогресс. Я использовал range_repair.py, который позволил мне перейти к определенному токену, чтобы я мог медленно идти вверх. В конце я использовал опцию "Пробный прогон и шаги" (1 шаг) и направил ее в файл. Затем я отфильтровал первый столбец с помощью sed и запустил этот файл. Если кажется, что команда зависает, вы можете записать ее, нажмите CTRL-C и снова запустите снова. Как правило, это удалось во второй или третий раз, когда я его запустил.

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