簡體   English   中英

任務管理器失敗后的 Flink-RocksDB 行為

[英]Flink-RocksDB behaviour after task manager failure

我正在嘗試使用 RocksDB 作為 State 后端的新 Flink 集群(3 個不同的機器-> 1 個作業管理器,2-> 任務管理器),但是我得到的檢查點行為有點令人困惑。

更具體地說,我設計了一個簡單的 WordCount 示例,我的數據源是 netcat。 當我提交我的工作時,工作管理器將它分配給一個隨機的任務管理器(也沒有復制)。 我提供了一些話,然后我殺死了當前正在運行的任務管理器。 過了一會兒,作業在另一個任務管理器中重新啟動,我可以提供一些新詞。 令人困惑的部分是,即使我殺死了第一個任務管理器中的 state,它也會被保留。

據我了解,RocksDB 將其 state 維護在正在運行的任務管理器的本地目錄中,所以我所期望的是當第一個任務管理器被殺死時會丟失整個 state 並從頭開始計算單詞。 所以 Flink 似乎以某種方式在內存中維護其 state(?)或通過 JobManager 廣播它?

我錯過了什么嗎?

RocksDB state 后端確實將其工作 state 保留在每個任務管理器的本地磁盤上,而檢查點通常存儲在分布式文件系統中。

如果您啟用了檢查點,則備用任務管理器能夠從最新的檢查點恢復 state 並恢復處理。

暫無
暫無

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

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