1

Недавно я обновил свой кластер Cassandra от 2.1.12 до 3.9. И потребовалось 10-12 часов для каждого, чтобы обновить SStables. Общий размер данных составлял ~ 100 ГБ на каждом узле. Morever, compaction_throughput_mb_per_sec в моем кластере: 16 as default value. Каковы способы, с помощью которых это время можно было бы сократить?Как уменьшить время обновления SSTable в cassandra

ответ

1

Вы используете SSD? Если у вас есть дополнительная пропускная способность IO, увеличение пропускной способности (compaction_throughput_mb_per_sec) является самым простым. Вы также можете увеличить concurrent_compactors в своем cassandra.yaml, но в конечном счете вы будете ограничены процессором и диском io.

Можно также отключить gossip/cql с помощью nodetool на одном узле за раз, чтобы предотвратить его воздействие на ваше приложение, а затем полностью отключить пропускную способность уплотнения. Просто убедитесь, что узел удален из кластера более 20 минут (30 минут - это окно Hinted Handoff по умолчанию).

Смежные вопросы