Ремонт Кассандры после того, как дата-центр вышел из строя - PullRequest
0 голосов
/ 10 апреля 2019

У меня Cassandra db (версия 3.11.2), работающая в AWS, с 2 центрами обработки данных - каждый в другом регионе AWS и 3 узлами в каждом.

Коэффициент репликации во всех пространствах ключей равен 3, поэтомуполная репликация данных на каждом узле.Размер данных составляет около 10 ГБ на узел.Все наши записи находятся в LOCAL_QUORUM против одного DC (давайте назовем это DC1).По сути, другой DC предназначен только для резервного копирования и аварийного восстановления, в случае, если регион AWS для DC1 будет недоступен, мы перенаправим трафик на DC2.

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

Я просмотрел документы Кассандры и прочитал бесчисленные ответы SO, и я не мог понять, что такое правильный ремонт.делать ... Нужно ли мне выдавать «нодолевой ремонт --full --sequential» только с одного узла?Нужно ли запускать его на каждом узле кластера?Может быть, лучше запустить 'пересборка nodetool'?

1 Ответ

0 голосов
/ 10 апреля 2019

Выполнение nodetool cleanup на узлах в центре обработки данных2 должно быть в состоянии привести данные в соответствие с синхронизацией, но в зависимости от затронутого размера данных это может быть задачей, которая может занять время и ресурсы. Если datacenter2 используется только в качестве резервной копии для целей аварийного восстановления, может быть проще и быстрее создать резервную копию текущего кластера dc1 и восстановить его во втором центре данных (дополнительная информация доступна здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...