我们正在aws上运行3个代理kafka集群(v2.11-2.1.0),r4.xlarge机器,我们的CPU使用率高达85%,内存使用率接近99%(包括I / O缓冲区)。我们有3个节点的zk群集。我们每秒大约有80-90k条消息
broker java env:
java -Xmx7982m -Xms7770m-服务器-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:+ PrintGCDetails -XX:+ 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中的相关问题,找不到任何相关的匹配问题。
这使我们的集群不稳定,并导致生产者完全停机。没有任何线索可以开始寻找方向