簡體   English   中英

如果某些Kafka節點時間偏移未同步,則Spark流式傳輸作業會停止

[英]Spark streaming job stuck if some Kafka nodes time offset is not synchronized

我們有一個火花流式傳輸作業,它從Gnip API讀取並將推文發送到Kafka集群。

使用Cloudera Manager安裝Kafka群集。

有時,cloudera管理器會為某些Kafka節點顯示錯誤的運行狀況消息。 不良健康消息與NTP服務有關。 某些節點突然與NTP服務器不同步。

一旦發生這種情況,Spark流媒體作業就會停滯不前,很多作業都會在沒有處理的情況下排隊等待很長時間。

為什么Kafka節點與NTP服務器的同步會影響火花流作業中的Kafka生產者?

每個分區都有其Kafka經紀人的領導者和追隨者,Kafka通過該分區提供容錯能力。 此機制基於ZooKeeper,它使用NTP服務。

如果您使用默認配置,領導者將收到您的數據,並盡量寫入關注者。 在將數據寫入每個關注者之前,它不會響應成功消息。 所以你的Spark應用程序阻塞。

您還可以更改Kafka配置,以便在領導者接收數據時立即響應,或在領導者將數據寫入磁盤時立即響應。

您可以在Kafka文檔中找到更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM