Kafka使用最佳實踐-Kafka生產問題分析思路與解決方案
一、生產問題分析思路
二、數據無法正常寫入,使用客戶端無法正常生產數據
首先使用生產命令進行生產測試。
看是否是C80版本,確認是否有打入kafka死鎖補丁,如果沒有請打入。
Kafka的服務端節點是否開啟了DNS,如果開啟請參照《kafka啟動候不定時出現"恢復中"狀態》解決。
根據章節查看topic是否正常(2.2章節),如果不正常優先恢復topic,參考維護寶典Topic操作常見故障章節排查處理。
如果是21005生產,查看前臺“everyone.if.no.acl.found”是否設置為true,并且是否添加了acl權限,如果是需要刪除acl權限。參考4.2.3章節和維護寶典《Producer發送數據失敗,拋出TOPIC_AUTHORIZATION_FAILED》解決。
如果使用了21009端口,需要查看是否開啟mode.enable=true。
去每個節點執行df –h查看磁盤是否有寫滿的情況。如果磁盤寫滿參考《kafka磁盤寫滿后恢復策略》
查看報錯中是否有指定那個節點哪個磁盤報錯,如果有,去指定節點上執行touch filename 的命令看是否出現了磁盤只讀的現象。
去每個kafka節點下,切換到omm用戶,使用id –Gn kafka查看是否有異常,如果有請按照維護寶典“id -Gn查詢不到用戶,導致任務無法提交”章節解決。
其他問題:參照維護寶典“消息生產常見故障”排查。
三、集群內客戶端可以正常生產消費,集群外客戶端無法正常使用
檢查網絡環境是否正常。
使用ping命令查看是否有網絡丟包
使用scp從客戶端傳輸一個大文件到kafka服務側節點,查看傳輸速率。
檢查/etc/hosts里面是否配置kafka集群的IP列表。
檢查DNS是否開啟,cat /etc/resolv.conf 是否有值,或者在etc/hosts里面是否添加了不可達參數。例如:
hadoop.com
查看客戶端配置是否配置有異常。這里要特別注意配置domain.name,如果FI集群修改過域名(默認域名為hadoop.hadoop.com,如果修改,該配置必須在生產者配置中添加)。
查看集群acl列表,確認節點是否被禁用或者限流。方法見1.8章節《查看集群中所有的acl權限信息》。
其他問題:參照維護寶典“消息生產常見故障”排查。
四、 集群外客戶端可以使用,但是開發的代碼無法正常寫入
檢查生產端的配置是否有誤。例如:所配置的IP是否為kafka的業務IP。
檢查客戶端使用的kafka版本是否有誤,高版本的客戶端向低版本的服務端寫數據可能存在兼容性的問題。
使用安全模式生產消費時候,是否使用了正確的keytab。
使用安全模式并且everyone.if.no.acl.found為false 需要查看用戶是否有權限訪問。參考4.1.8章節。
如果使用的是C++客戶端,需要注意5.1版本需要使用4.0.3或以上版本,否則會有兼容性問題。
其他問題:參照維護寶典“消息生產常見故障”排查。
五、寫入正常,但是寫入性能有積壓或者一段時間后會報錯中斷
首先排查是否存在性能瓶頸;再排查寫入請求總耗時及各階段耗時,排查耗時長的階段的具體原因。
查看生產的客戶端版本是否跟服務端版本匹配。如果客戶使用的客戶端jar為非FI提供的jar包版本。
排查是否存在過大數據,kafka通常建議的數據大小在15k左右,如果出現過大數據可能會導致寫入性能差。
EI企業智能 FusionInsight Kafka
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。