一、報錯:: java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.NotLeaderForPartitionException: This server is not the leader for that topic-partition.java
報錯緣由:producer在向kafka broker寫的時候,恰好發生選舉,原本是向broker0上寫的,選舉以後broker1成爲leader,因此沒法寫成功,就拋異常了。apache
解決辦法:修改producer的重試參數retries參數,默認是0, 通常設置爲3, 我在生產環境配置的retries=10server
二、java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s) for binlogCsbbroker-2 due to 30026 ms has passed since batch creation plus linger timekafka
報錯緣由:具體緣由我本身尚未找到,可是網友們都說是由於kafka在批量寫的時候,這一批次的數據沒有在30s內還處理完,(30s爲request.timeout.ms默認值),這一批次的數據就過時了,因此拋出異常it
解決辦法:增大request.timeout.ms, 我在生產環境配置的是request.timeout.ms=60000 // 由原來默認的30s改爲60sio
三、java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.NetworkException: The server disconnected before a response was received.class
報錯緣由:kafka client與broker斷開鏈接了cli
解決辦法:重啓服務sed