Kafka 客戶(hù)端TimeoutException問(wèn)題之坑

各種TimeoutException問(wèn)題

會(huì)拋出org.apache.kafka.common.errors.TimeoutException:
message可能為各種:

  • Batch Expired
  • Failed to update metadata after 60000 ms.
  • ailed to update metadata after
  • ...

原因

原因是發(fā)布到zookeeper的advertised.host.name如果沒(méi)有設(shè)置,默認(rèn)取java.net.InetAddress.getCanonicalHostName().值,被用于生產(chǎn)端和消費(fèi)端。因此外部網(wǎng)絡(luò)或者未配置hostname映射的機(jī)器訪問(wèn)kafka集群時(shí)就會(huì)有網(wǎng)絡(luò)問(wèn)題了。

原因是kafka客戶(hù)端連接到broker是成功的,但連接到集群后更新回來(lái)的集群meta信息是錯(cuò)誤的即是會(huì)返回的是節(jié)點(diǎn)的hostname,解決辦法就是手動(dòng)配置advertised.host.name和advertised.port,2個(gè)參數(shù)都必須配置,重啟問(wèn)題解決:

advertised.host.name=10.0.0.100
advertised.port=9092
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容