Как указано в заголовке, у нас возникла проблема с нашим кластером Cassandra. Есть 9 узлов с коэффициент репликации 3 с использованием NetworkTopologyСтратегия. Все в том же DC и Rack. Версия Кассандры 3.11.4 (планирую переезд 3.11.10). Экземпляры имеют 4 процессора и 32 ГБ ОЗУ. (планирую перейти на 8 CPU)
Всякий раз, когда мы пытаемся запустить ремонт в нашем кластере (используя Cassandra Reaper на одном из наших узлов), мы теряем один узел где-то в процессе. Быстро останавливаем ремонт, перезапускаем сервис Cassandra на узле и ждем его присоединения к кольцу. Поэтому мы никогда не можем запустить ремонт в эти дни.
Я наблюдал проблему и понял, что эта проблема вызвана высокой загрузкой ЦП на некоторых из наших узлов. (ровно 3). Вы можете увидеть график интервала в 1 неделю ниже. Взлеты и падения вызваны использованием приложения.Утром очень мало.
График использования ЦП
Я сравнил запущенные процессы на каждой ноде и ничего лишнего на нодах с высоким CPU нет. Я сравнивал конфигурации. Они одинаковые. Никакой разницы не нашел.
Я также понял, что именно на эти узлы приходится большая часть трафика. См. график интервала в 1 неделю ниже. И отправленные, и полученные байты.
График отправленных и полученных байтов
Я провел небольшое исследование. я нашел это нить и в конце рекомендуется установить dynamic_snitch: ложь
в конфигурации Кассандры. Я посмотрел на нашу стратегию снитча, которая GossipingPropertyFileSnitch. На практике эта стратегия должна работать правильно, но я думаю, что это не так.
Задача снитча — предоставить информацию о топологии вашей сети, чтобы Cassandra могла эффективно маршрутизировать запросы.
Мое единственное наблюдение, которое может быть причиной этой проблемы, заключается в том, что есть файл с именем cassandra-topology.properties что конкретно сказали удалить при использовании GossipingPropertyFileSnitch
Стойка и центр обработки данных для локального узла определяются в cassandra-rackdc.properties и распространяются на другие узлы посредством сплетен. Если cassandra-topology.properties существует, он используется в качестве запасного варианта, позволяя выполнить миграцию из PropertyFileSnitch.
Я не удалял этот файл, так как не смог найти убедительных доказательств того, что это вызывает проблему. Если у вас есть какие-либо знания по этому поводу или вы видите любую другую причину моей проблемы, я был бы признателен за вашу помощь.