概述
Flink在v1.12到v1.14的改進(jìn)當(dāng)中,其狀態(tài)后端也發(fā)生了變化。老版本的狀態(tài)后端有三個(gè),分別是MemoryStateBackend、FsStateBackend、RocksDBStateBackend,在flink1.14中,這些狀態(tài)已經(jīng)被廢棄了,新版本的狀態(tài)后端是 HashMapStateBackend、EmbeddedRocksDBStateBackend。
1、檢查點(diǎn)
有狀態(tài)流應(yīng)用中的檢查點(diǎn)(checkpoint),其實(shí)就是所有任務(wù)的狀態(tài)在某個(gè)時(shí)間點(diǎn)的一個(gè)快照(一份拷貝)。簡單來講,就是一次 存盤,讓我們之前處理數(shù)據(jù)的進(jìn)度不要丟掉。在一個(gè)流應(yīng)用程序運(yùn)行時(shí),F(xiàn)link會(huì)定期保存檢查點(diǎn),在檢查點(diǎn)中會(huì)記錄每個(gè)算子的id和狀態(tài),如果發(fā)生故障,F(xiàn)link就會(huì)用最近一次成功保存的檢查點(diǎn)來恢復(fù)應(yīng)用的狀態(tài),重新啟動(dòng)處理流程,就如同 讀檔 一樣。
2、狀態(tài)后端
在 Flink 中,狀態(tài)的存儲(chǔ)、訪問以及維護(hù),都是由一個(gè)可插拔的組件決定的,這個(gè)組件就叫作狀態(tài)后端(state backend)。狀態(tài)后端主要負(fù)責(zé)兩件事:一是本地的狀態(tài)管理,二是將檢查點(diǎn)(checkpoint)寫入遠(yuǎn)程的持久化存儲(chǔ)。
2.1、狀態(tài)后端的分類
Flink 中提供了兩類不同的狀態(tài)后端,一種是“哈希表狀態(tài)后端”(HashMapStateBackend),另一種是“內(nèi)嵌 RocksDB ?狀態(tài)后端”(EmbeddedRocksDBStateBackend)。如果沒有特別配置,系統(tǒng)默認(rèn)的狀態(tài)后端是HashMapStateBackend。文章來源:http://www.zghlxwxcb.cn/news/detail-824329.html
-
哈希表狀態(tài)后端(Ha文章來源地址http://www.zghlxwxcb.cn/news/detail-824329.html
到了這里,關(guān)于Flink State backend狀態(tài)后端的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!