在Linux上配置Kafka時,可能會遇到多種問題。以下是一些常見問題及其解決方案:
消息堆積
./kafka-topics.sh --alter --topic 訂單日志 --partitions 6 --bootstrap-server localhost:9092。數據丟失
acks=all # 確保所有ISR副本確認后才返回成功。retries=3 # 自動重試。min.insync.replicas=2 # 至少2個副本確認才允許寫入。消費者重復消費
consumer.commitSync(); // 處理完消息后同步提交。auto.commit.interval.ms=1000 // 1秒提交一次。Leader切換導致短暫不可用
retries=5,retry.backoff.ms=1000 // 在嘗試重試對給定主題分區的失敗請求之前等待的時間。buffer.memory),避免消息丟失。磁盤寫滿,Broker罷工
./kafka-delete-records.sh --bootstrap-server localhost:9092 --offset-json-file cleanup.json。log.retention.hours=72 # 縮短保留時間。log.retention.bytes=1073741824 # 每個分區最多保留1GB。ZooKeeper連接閃斷,集群抖動
zookeeper.session.timeout.ms=18000 # 增加會話超時時間。消費者組重平衡太頻繁
session.timeout.ms=30000 # 心跳超時時間調大。max.poll.interval.ms=300000 # 拉取消息間隔上限調大。跨機房同步延遲高
broker.rack=us-east-1a # 標記Broker所在機房。replica.socket.timeout.ms=120000 # 增加副本同步超時時間。