SparkStreaming容錯性

SparkStreaming實時流處理系統(tǒng)需要長時間接受并處理數(shù)據(jù),對于SparkStreaming的容錯性主要通過以下三種方式:


第一、利用Spark自身的容錯設計、存儲級別和RDD抽象設計能夠處理集群中任何worker節(jié)點的故障。

第二、由于Spark運行的多種模式,其Driver端可能運行在Master節(jié)點或者在集群中的任意節(jié)點,讓Driver端具備容錯能力是一個很大挑戰(zhàn),但是由于SparkStreaming接收的數(shù)據(jù)是按照批處理形式進行存儲和處理,這些批次數(shù)據(jù)的元數(shù)據(jù)可以通過執(zhí)行檢查點的方式定期寫入可靠的存儲中,在Driver端重啟中恢復這些狀態(tài),即checkpoint機制。

第三、對于接收的數(shù)據(jù)存在于內(nèi)存中存在丟失的風險,由于接收到的數(shù)據(jù)還存在于Executor的內(nèi)存中,當Executor出現(xiàn)異常時會丟失這些數(shù)據(jù),為了避免這種數(shù)據(jù)損失,在Spark1.2中引進了預寫日志的形式(WriteAheadLogs)的形式。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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

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