[Kafka] |FAIL|rdkafka#producer-1 : Receive failed: Disconnected

Why am I seeing Receive failed: Disconnected?

 

1. broker 的空閒鏈接回收器關閉不活躍鏈接。html

由 broker 的配置屬性 connections.max.idle.ms 控制,默認是 10 分鐘。git

這是目前爲止最多見的自發斷開鏈接的緣由。github

 

2. 客戶端發送了一個不支持的協議請求;這能夠認爲是客戶端的配置錯誤。負載均衡

broker 應該記錄一個關閉緣由的異常日誌,見 broker logs。socket

 

3. 客戶端發送一個缺陷的協議請求;這表示是客戶端的一個 bug。日誌

broker 應該記錄一個關閉緣由的異常日誌,見 broker logs。code

 

4. broker 在一個無效的狀態。htm

broker 應該記錄一個關閉緣由的異常日誌,見 broker logs。blog

 

5. TCP 網關/負載均衡器/防火牆 會話超時。get

嘗試在客戶端開啓 TCP keep-alives,經過設置 socket.keepalive.enable 爲 true。

 

6. 因爲 TCP 關閉不能發信號給遠程對等方關閉的緣由,客戶端沒法知道出了什麼問題。

若是斷開鏈接的日誌愈來愈煩人 而且 管理員認爲是鏈接回收器致使的,

客戶端能夠設置 log.connection.close 爲 false 來靜默全部自發斷開鏈接的日誌。


注意:無論出於什麼緣由鏈接關閉,librdkafka 會在 reconnect.backoff.jitter.ms (默認500ms) 以後自動重連。

 

Ref:https://github.com/edenhill/librdkafka/wiki/FAQ#why-am-i-seeing-receive-failed-disconnected

Link:http://www.javashuo.com/article/p-tqpskjcf-dp.html

相關文章
相關標籤/搜索