Storm容錯機制

2021-07-29 16:23:40 字數 1190 閱讀 9547

1.bolt任務crash引起的訊息未被應答。此時,acker中所有與此bolt任務關聯的訊息都會因為超時而失敗,對應的spout的fail方法將被呼叫。

2.acker任務失敗。如果acker任務本身失敗了,它在失敗之前持有的所有訊息都將超時而失敗。spout的fail方法將被呼叫

3.spout任務失敗。在這種情況下,與spout任務對接的外部裝置(如mq)負責訊息的完整性。例如,當客戶端異常時,kestrel佇列會將處於pending狀態的所有訊息重新放回佇列中。

1.worker失敗。每個worker中包含數個bolt(或spout)任務。supervisor負責監控這些任務,當worker失敗後會嘗試在本機重啟它,如果它在啟動時連續失敗了一定的次數,無法傳送心跳資訊到nimbus,nimbus將在另一台主機上重新分配worker。

2.supervisor失敗。supervisor是無狀態(所有的狀態都儲存在zookeeper或者磁碟上)和快速失敗(每當遇到任何意外的情況,程序自動毀滅)的,因此supervisor的失敗不會影響當前正在執行的任務,只要及時將他們重新啟動即可

3.nimbus失敗。nimbus也是無狀態和快速失敗的,因此nimbus的失敗不會影響當前正在執行的任務,但是當nimbus失敗時,無法提交新的任務,只要及時將它重新啟動即可

1.storm集群中的節點故障。此時nimbus會將此機器上所有正在執行的任務轉移到其他可用的機器上執行

2.zookeeper集群中的節點故障。zookeeper保證少於半數的機器宕機系統仍可正常執行,及時修復故障機器即可

nimbus是否是「單點故障」的

如果失去了nimbus節點,worker也會繼續執行。另外,如果worker死亡,supervisor也會繼續重啟他們。但是,沒有nimbus,worker不會在必要時(例如,失去乙個worker的主機)被安排到其他主機,客戶端也無法提交任務。

所以nimbus「在某種程度上」是單點故障。在實踐中,這不是乙個大問題,因為nimbus守護程序死亡,不會發生災難性問題。

Storm訊息容錯機制(ack fail機制)

storm訊息容錯機制 ack fail 1 介紹 給每個tuple指定 id告訴 storm 系統,無論處理成功還是失敗,spout 都要接收 tuple 樹上所有節點返回的通知。如果處理成功,spout 的ack 方法將會對編號是 msgid 的訊息應答確認 如果處理失敗或者超時,會呼叫 fai...

Storm容錯機制 Drpc kafka集群搭建

架構 nimbus 分配任務 資源排程 上傳jar包 zookeeper 協調 健康檢查 心跳 supervisor 接收nimbus任務 開啟 關閉自己管理的worker程序 可以開啟n個woker worker 執行具體處理運算元件的程序 每個worker對應執行乙個topology的子集 執行...

Spark Spark容錯機制

一般來說,分布式資料集的容錯性有兩種方式 資料檢查點和記錄資料的更新。面向大規模資料分析,資料檢查點操作成本很高,需要通過資料中心的網路連線在機器之間複製龐大的資料集,而網路頻寬往往比記憶體頻寬低得多,同時還需要消耗更多的儲存資源。因此,spark選擇記錄更新的方式。但是,如果更新粒度太細太多,那麼...