почему запуск cassandra иногда занимает несколько часов?

#amazon-ec2 #cassandra #database-performance #cassandra-3.0

#amazon-ec2 #cassandra #база данных-производительность #cassandra-3.0

Вопрос:

Я запускаю кластер из 26 узлов в ec2, распределенный по 4 регионам — США-восток-1, США-запад-2, ес-запад-1 и ap-юго-восток-1. Я заметил, что иногда запуск узлов занимает очень много времени, и проблема кажется особенно серьезной в ap-southeast-1. Например, простой перезапуск узла сегодня занял более 4 часов. Когда это происходит, последнее, что регистрируется cassandra (system.log), это:

 INFO  [main] 2016-10-19 20:35:14,846 ColumnFamilyStore.java:395 - Initializing system_schema.indexes
  

В конечном итоге он переходит к инициализации моих собственных семейств столбцов, но я не понимаю, что занимает так много времени. На этом конкретном узле хранится около 900 Г данных, используя объем EBS 3,2 Т.

Пока это происходит, кажется, что конфликт ресурсов очень мал. Сетевой ввод-вывод, похоже, не превышает 1 МБ / с. Объем данных и журнал фиксации имеют в основном 0 операций ввода-вывода. Загрузка процессора находится в диапазоне 25% -50%. Глядя на strace , кажется, что существует множество getdents системных вызовов, но, похоже, это не вызовет проблем.

Чем можно объяснить столь длительное время запуска?

Информация о кластере

  • Cassandra DDC 3.5
  • EC2MultiRegionSnitch
  • m4.xlarge, переход на c4.4xlarge

Информация о схеме

  • 3 CF, все «записываются один раз» (т. Е. Без обновлений), 1 неделя ttl, STCS (по умолчанию)
  • нет вторичных индексов

Комментарии:

1. Используете ли вы вторичные индексы?

2. Возможно, придется потратить время на воспроизведение вашего журнала фиксации, но это не должно занять час. Я заметил, что в некоторых версиях 3.x есть проблемы, из-за которых журнал фиксации может быть поврежден, но это обычно предотвращает запуск узла и быстро завершается сбоем. Можете ли вы обновить до 3.9 и посмотреть, есть ли у вас такая же проблема?

3. Обновленный вопрос с некоторой информацией о схеме (вторичных индексов нет). Я могу попробовать обновить до 3.9, но проблема возникает не каждый раз, поэтому может потребоваться некоторое время, чтобы сказать, что это решает ее. Безопасно ли запускать один узел 3.9 с ~ 25 другими узлами, все еще работающими на 3.5?

4. Обновление до 3.9, похоже, не решило проблему

5. В зависимости от количества sstables это может быть что-то вроде issues.apache.org/jira/browse/CASSANDRA-12114 (что я недавно исправил) или issues.apache.org/jira/browse/CASSANDRA-11163 (который еще не собран).