онлайн массовое удаление (усечение) пространства ключей кассандры - PullRequest
5 голосов
/ 19 мая 2011

Я прочитал, что после слива узла вы можете удалить файлы, а затем перезапустить. Работает нормально, но я попытался сделать это, только опустошив все узлы, выключив весь кластер, удалив файлы и перезапустив.

Что произойдет, если я перезапущу только один узел одновременно? Насколько я понял, есть риск что перезапущенный узел будет принимать запросы на чтение и выполнять восстановление с использованием данных из другой реплики.

Кто-нибудь знает наиболее безопасную процедуру обрезания пространства ключей, оставляя весь кластер включенным и работающим для обслуживания других пространств ключей?

1 Ответ

7 голосов
/ 19 мая 2011
$ bin/cassandra-cli -h localhost
[default@unknown] use keyspace1;
Authenticated to keyspace: Keyspace1
[default@Keyspace1] truncate standard1;     
standard1 truncated.

По своей конструкции это не защищает от гонок (для этого потребуется тяжелая блокировка); обычно вы только устанавливаете CF, который в любом случае не обслуживает чтение в реальном времени. но если по какой-то причине вы должны отключить восстановление чтения сначала («обновить семейство столбцов standard1 с read_repair_chance = 0»).

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