В настоящее время я использую кластер Cassandra с 12 узлами, хранящий 4 ТБ данных, с коэффициентом репликации, равным 3. Для нужд обновления приложения нам нужно изменить конфигурацию нашего пространства ключей, и мы хотели бы чтобы избежать простоев, если это возможно.
Я прочитал в списке рассылки, что лучший способ сделать это:
- Убить процесс Кассандры на одном сервере кластера
- Запустите его снова, дождитесь записи журнала фиксации на диск и снова уничтожьте его
- Внести изменения в файл storage.xml
- Переименование или удаление файлов в каталогах данных в соответствии с внесенными нами изменениями
- Старт Кассандры
- Перейти к 1 со следующим сервером в списке
Мои вопросы будут:
- Хорошо ли я понял процесс?
- Есть ли риск повреждения данных?
- В ходе этого процесса серверы с разными версиями файла storage.xml будут находиться в одном и том же ключе, в одном и том же пространстве ключей. Это проблема?
- Тот же вопрос, что и выше, если мы не только добавляем, переименовываем и удаляем ColumnFamilies, но и если мы изменяем параметр CompareWith / преобразуем существующее семейство столбцов в супер. Или нам нужно сменить имя?
Спасибо за ваши ответы. Я делаю это впервые, и мне немного страшно.