Мы работаем с 3-х брокерским кластером kafka (v2.11-2.1.0), машинами r4.xlarge на aws. У нас загрузка ЦП составляет до 85%, использование памяти приближается к 99% (включая буферы ввода / вывода).У нас есть 3 узла ZK кластера.у нас около 80-90k сообщений / сек. загрузка
broker java env:
java -Xmx7982m -Xms7770m -server -XX: + UseG1GC -XX: MaxGCPauseMillis = 20 -XX:InitiatingHeapOccupancyPercent = 35 -XX: + ExplicitGCInvokesConcurrent -Djava.awt.headless = true -Xloggc: / home / kafka / kafka / bin /../ logs / kafkaServer-gc.log -verbose: gc -XX: + PrintGCDetail-+ PrintGCDateStamps -XX: + PrintGCTimeStamps -XX: + UseGCLogFileRotation -XX: NumberOfGCLogFiles = 10 -XX: GCLogFileSize = 100M```
Обычно производители и потребители не сталкиваются с какими-либо проблемами, но периодически появляются ошибки из-за ошибокзаписываются в "server.log"
2019-05-27 20:21:53,211] WARN [LeaderEpochCache pulse-flattening-errors-23] New epoch entry EpochEntry(epoch=2, startOffset=0) caused truncation of conflicting entries ListBuffer(EpochEntry(epoch=1, startOffset=0)). Cache now contains 1 entries. (kafka.server.epoch.LeaderEpochFileCache)
[2019-05-27 20:23:45,175] WARN [LeaderEpochCache pulse-21-feb-error-message-16] New epoch entry EpochEntry(epoch=4, startOffset=1833) caused truncation of conflicting entries ListBuffer(EpochEntry(epoch=3, startOffset=1833)). Cache now contains 2 entries. (kafka.server.epoch.LeaderEpochFileCache)
[2019-05-27 20:23:45,269] WARN [LeaderEpochCache pulse-21-feb-error-message-28] New epoch entry EpochEntry(epoch=4, startOffset=1525) caused truncation of conflicting entries ListBuffer(EpochEntry(epoch=3, startOffset=1525)). Cache now contains 2 entries. (kafka.server.epoch.LeaderEpochFileCache)
[2019-05-27 20:23:45,339] WARN [LeaderEpochCache pulse-21-feb-error-message-4] New epoch entry EpochEntry(epoch=4, startOffset=1427) caused truncation of conflicting entries ListBuffer(EpochEntry(epoch=3, startOffset=1427)). Cache now contains 2 entries. (kafka.server.epoch.LeaderEpochFileCache)
[2019-05-27 20:23:45,529] WARN [LeaderEpochCache pulse-21-feb-error-message-10] New epoch entry EpochEntry(epoch=4, startOffset=2430) caused truncation of conflicting entries ListBuffer(EpochEntry(epoch=3, startOffset=2430)). Cache now contains 2 entries. (kafka.server.epoch.LeaderEpochFileCache)
[2019-05-27 20:23:45,577] WARN [LeaderEpochCache pulse-21-feb-error-message-22] New epoch entry EpochEntry(epoch=4, startOffset=1802) caused truncation of conflicting entries ListBuffer(EpochEntry(epoch=3, startOffset=1802)). Cache now contains 2 entries. (kafka.server.epoch.LeaderEpochFileCache
Наблюдения:
- Выше приведены предупреждения о лидере определенного раздела
- посредник во время прослушиванияна порту 9092 перестает отвечать на любые запросы производителей.
- тайм-аут производителей и не может отправлять сообщения в кластер
- Другие посредники не выполняют репликацию, следовательно, они также застревают
- Новый лидерне избирается
- Все производители терпят неудачу
Я проверил конфиг для тем и разделов, кажется, ничего необычного.В основном поддержание значений по умолчанию дистрибутива apache kafka v2.11-2.1.0 для нечистых лидеров также имеет значение false для кластера и тем.Это происходило с перерывами и неоднократно.
Я проверил Issue.apache.org на наличие проблем, не смог найти ни одной соответствующей проблемы.
Это делает наш кластер нестабильным и вызывает полное время простоя.для производителей.Не имею понятия, в каком направлении начинать смотреть