在CentOS上配置Kafka时,可能会遇到一些常见问题。以下是一些常见问题的解决方案:
max.poll.records
调大)。增加分区数:./kafka-topics.sh --alter --topic 订单日志 --partitions 6 --bootstrap-server localhost:9092
。调整分配策略:使用 RoundRobinAssignor
替代默认的 RangeAssignor
,均衡负载。acks=0
或 1
)。Leader副本宕机,且未同步到Follower。acks=all
# 确保所有ISR副本确认后才返回成功。retries=3
# 自动重试。Broker配置:min.insync.replicas=2
# 至少2个副本确认才允许写入。auto.commit.interval.ms
默认5秒)。consumer.commitSync();
// 处理完消息后同步提交。缩短自动提交间隔:auto.commit.interval.ms=1000
// 1秒提交一次。retries=5
, retry.backoff.ms=1000
// 在尝试重试对给定主题分区的失败请求之前等待的时间。./kafka-delete-records.sh --bootstrap-server localhost:9092 --offset-json-file cleanup.json
。预防配置:log.retention.hours=72
# 缩短保留时间。log.retention.bytes=1073741824
# 每个分区最多保留1GB。zookeeper.session.timeout.ms=18000
# 增加会话超时时间。监控ZooKeeper配置:避免ZooKeeper集群压力过大(如分离Kafka和ZooKeeper的物理资源)。session.timeout.ms=30000
# 心跳超时时间调大。max.poll.interval.ms=300000
# 拉取消息间隔上限调大。优化消息处理逻辑:避免单条消息处理耗时过长。broker.rack=us-east-1a
# 标记Broker所在机房。调整副本拉取参数:replica.socket.timeout.ms=120000
# 增加副本同步超时时间。通过了解和解决这些常见问题,可以显著提高Kafka在CentOS上的稳定性和性能。