flink checkpoint與statebackend關(guān)系

image.png

介紹

什么是statebackend?

  • statebackend是用于存儲state的狀態(tài)后端,StateBackend 默認(rèn)是保存在 JobManager 的內(nèi)存中,也能夠保存在 本地文件系統(tǒng) 或者 HDFS 分布式文件系統(tǒng)中。

什么是checkpoint?

  • 是每個一段時間存儲當(dāng)前數(shù)據(jù)流狀態(tài)的快照。可以認(rèn)為是當(dāng)前state的快照。

1.13后對statebackend和checkpoint的功能區(qū)分

1.13 之前 statebackend

image.png

在 Flink 中,State Backend 有兩個功能:

  • 提供狀態(tài)的訪問、查詢;
  • 如果開啟了 Checkpoint,會周期向遠(yuǎn)程的 Durable storage 上傳數(shù)據(jù)和返回元數(shù)據(jù) (meta) 給 Job Manager (以下簡稱 JM)。

Flink 1.13 中兩個概念被拆開:

image.png
  • State Backend 的概念變窄,只描述狀態(tài)訪問和存儲;
  • Checkpoint storage,描述的是 Checkpoint 行為,如 Checkpoint 數(shù)據(jù)是發(fā)回給 JM 內(nèi)存還是上傳到遠(yuǎn)程。所以,相對應(yīng)的配置項(xiàng)也被拆開 。


    image.png

statebackend

  • HashMapStateBackend() : 存儲在taskmanager內(nèi)存
  • EmbeddedRocksDbStateBackend(): 存儲在rockesdb中

checkpointStorage

  • JobManagerCheckpointStorage() : jobmanager內(nèi)存
  • JobManagerCheckpointStorage("file://path"): jobmanager本地文件
  • FileSystemCheckpointStorage(): filesystem中(oss、hdfs等)

備注:配置具體方式:https://www.modb.pro/db/331091
參考:https://flink-learning.org.cn/article/detail/3d7ccd2f4d8800f748859ef6ba1e6b55

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

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

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