Kafka生產發送數據失敗

      網友投稿 1389 2022-05-28

      我們使用kafka時,有時候會遇到發送數據失敗的情況,其原因及解決方案如下:

      1.?????Kafka topic leader為-1

      Kafka客戶端執行如下命令查看topic的leader信息:

      kafka-topics.sh --describe --zookeeper zk業務IP:24002/kafka

      如果leader為-1,需查看Replicas中的副本節點是否正常,查看命令如下:

      kafka-broker-info.sh --zookeeper zk業務IP:24002/kafka

      命令中可以查詢到brokerid,說明節點kafka服務正常

      如果leader為-1的分區對應的Replicas中節點都不正常,需要先恢復異常節點kafka服務。如果都正常但ISR列表中無節點信息,或者ISR列表中的節點不正常,需要查看Kafka服務端的unclean.leader.election.enable參數是否為true或者topic端是否配置此參數為true。如果都不為true,需要對此topic修改配置為true。

      Kafka服務端的unclean.leader.election.enable參數配置查看方式如下:

      Kafka topic端unclean.leader.election.enable參數配置查看方式如下:

      kafka-topics.sh --describe --zookeeper zk業務IP:24002/kafka --topic topicName

      如果Config中無unclean.leader.election.enable信息,則與服務端配置一致。

      如果有,則此配置優先級高于服務端配置。

      修改topic端此配置的方式如下:

      kafka-topics.sh --alter --topic topicName --zookeeper zk業務IP:24002/kafka --config unclean.leader.election.enable=true

      2.?????DNS配置導致

      執行 vi /etc/resolv.conf,如果有“nameserver X.X.X.X”,把此內容注釋掉

      3.?????網絡異常

      生產端節點ping服務端IP,ping -s 15000 IP,如果延遲高于5ms,說明網絡延遲過高,也可通過長ping來判斷是否有網絡丟包。

      4.?????CPU或者IO過高也可能導致連接失敗

      iostat -d -x 1查看CPU參數idle和IO參數util,idle值越高,CPU越空閑,util值越高,IO使用率越高。如果idle值小于20%,top -Hp kafkaPid查看CPU使用率高的線程,打jstack日志分析具體的原因;如果util值大于80%,查看磁盤對應的讀寫速率、await和svctm的大小判斷對IO影響大的原因,如果讀寫速率比較大,排查kafka讀寫請求和延時,如果awati遠大于svctm,IO隊列太長,應用響應時間很慢。

      5.?????磁盤壞道或者其他原因也可能導致連接失敗

      如果server.log日志中有大量“java.io.IOException: Connection to IP:21007 (id: 2 rack: null) failed”日志,查看IP節點操作系統日志中是否有“Sense Key : Medium Error”信息,如果有,說明出現磁盤壞道,需修復或更換磁盤。另外,還需要打此節點的jstack信息,排查是否有阻塞或者死鎖。如果是C80版本,且jstack信息中有如下信息,需打死鎖補丁:

      6.???? 如果報“TimeoutException”或偶爾發送失敗,可先調大request.timeout.ms,并查看服務端num.io.threads和num.network.threads是否可以優化(這兩個參數一般調整為節點磁盤個數的倍數)。根據發送的數據量的大小也可適當調整batch.size、buffer.memory、linger.ms的大小。如果發送的數據量很大且可容忍一定時延,也可以考慮開啟壓縮,compression.type指定壓縮方式,可配置為“gzip”、“snappy”或“lz4”。

      7.?????ssh卡住

      ssh -v -p 端口號 異常節點ip

      如果如上圖所示卡住,解決方式是將GSSAPIAuthentication修改為no

      8.???? 如果是集群外客戶端生產發送失敗,還可以通過集群內客戶端測試下生產是否成功,進一步減小排查方向。

      Kafka生產發送數據失敗

      Kafka

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:spark到底是怎么確認內存夠不夠用的?超大超詳細圖解!讓你掌握Spark memeoryStore內存管理的精髓
      下一篇:HDFS為何在大數據領域經久不衰?
      相關文章
      老司机亚洲精品影视www| 国产精品无码亚洲一区二区三区| 亚洲av成本人无码网站| 亚洲人成影院午夜网站| 在线电影你懂的亚洲| 亚洲欧洲国产精品你懂的| 亚洲AV无码久久精品成人 | 亚洲熟伦熟女新五十路熟妇| 朝桐光亚洲专区在线中文字幕| 亚洲最大的成人网| 亚洲色无码专区一区| 亚洲永久在线观看| 亚洲色欲色欲www在线播放| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲精品一品区二品区三品区| 国产亚洲午夜高清国产拍精品| 亚洲国产成人久久综合碰| 亚洲成?v人片天堂网无码| 亚洲福利中文字幕在线网址| 亚洲成?v人片天堂网无码| 国产精品亚洲w码日韩中文| 亚洲小说区图片区另类春色| 国产亚洲A∨片在线观看| 亚洲人JIZZ日本人| 久久精品国产精品亚洲蜜月| 老司机亚洲精品影院无码| 亚洲在成人网在线看| 亚洲成年网站在线观看| 亚洲av无一区二区三区| yy6080亚洲一级理论| 亚洲情综合五月天| 亚洲国产高清在线| 亚洲国产成人九九综合| 亚洲性色精品一区二区在线| 精品亚洲国产成人av| 久久久青草青青国产亚洲免观 | 亚洲人成片在线观看| 亚洲伊人久久大香线蕉AV| 亚洲第一se情网站| 国产中文在线亚洲精品官网| 亚洲爆乳无码一区二区三区|