Kafka故障排查的配置技巧
一 快速定位配置类故障的清单
二 可靠性与一致性相关的关键配置
三 性能与积压相关的配置优化
四 监控告警与日志配置
五 常见场景与配置要点对照表
| 场景 | 关键配置项 | 建议值或操作 |
|---|---|---|
| 消息积压 | max.poll.records、fetch.max.bytes、分区数、partition.assignment.strategy | 提升批量与拉取量;增加分区;策略改为 RoundRobinAssignor |
| 数据丢失 | acks、retries、min.insync.replicas | acks=all、retries≥3、min.insync.replicas≥2 |
| 重复消费 | enable.auto.commit、auto.commit.interval.ms、手动提交 | 关闭自动提交或缩短间隔;处理完成后 同步提交 |
| Leader切换超时 | retries、retry.backoff.ms | retries=5、retry.backoff.ms=1000 |
| 磁盘写满 | log.retention.hours、log.retention.bytes | 缩短保留时间、限制分区日志大小;必要时清理过期日志 |
| 无法收发/容器异常 | advertised.listeners、bootstrap.servers、端口映射、KAFKA_KRAFT_CLUSTER_ID | 外部 IP 正确暴露;客户端指向可达地址;端口不冲突;Cluster ID 一致 |