在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、retries=3)、Broker配置(min.insync.replicas=2)。消费者重复消费
consumer.commitSync())、缩短自动提交间隔(auto.commit.interval.ms=1000)。Leader切换导致短暂不可用
retries=5,retry.backoff.ms=1000)。磁盘写满,Broker罢工
./kafka-delete-records.sh --bootstrap-server localhost:9092 --offset-json-file cleanup.json)、预防配置(log.retention.hours=72,log.retention.bytes=1073741824)。ZooKeeper连接闪断,集群抖动
zookeeper.session.timeout.ms=18000)、监控ZooKeeper配置(避免ZooKeeper集群压力过大)。消费者组重平衡太频繁
session.timeout.ms=30000)、max.poll.interval.ms=300000、优化消息处理逻辑。跨机房同步延迟高
broker.rackus-east-1a)、调整副本拉取参数(replica.socket.timeout.ms=120000)。server.properties,确保所有参数设置合理,特别是broker.id、log.dirs和zookeeper.connect等关键配置项。num.network.threads和num.io.threads,可以优化网络I/O和磁盘I/O的并行处理能力。通过以上步骤和建议,可以有效地在CentOS上部署和配置Kafka,确保其稳定运行和高性能。需要注意的是,这些配置和优化策略需要根据具体的业务需求和硬件环境进行调整。