国产超薄丝袜足底脚交国产_少妇愉情理伦片丰满丰满_一区二区三区中文人妻制服_久久久久88色偷偷免费_色婷婷久久久swag精品

萬(wàn)能百科  > 創(chuàng)業(yè)創(chuàng)新百科?  > 

最新容錯(cuò)機(jī)制(NameNode容錯(cuò)機(jī)制)

2022-10-14   

縮放、遷移集群等。

Flink 是采用輕量級(jí)的分布式異步快照,其實(shí)現(xiàn)是采用柵欄 barrier 作為 checkpoint 的傳遞信號(hào),與業(yè)務(wù)數(shù)據(jù)一樣無(wú)差別地傳遞下去 ,目的是使得數(shù)據(jù)流被切分成微批,進(jìn)行 checkpoint 保存為 snapshot。當(dāng) barrier 經(jīng)過(guò)流圖節(jié)點(diǎn)的時(shí)候,F(xiàn)link 進(jìn)行 checkpoint 保存狀態(tài)數(shù)據(jù)。

如下圖所示,checkpoint n 包含每個(gè)算子的狀態(tài),該狀態(tài)是指checkpoint n 之前的全部事件,而不包含它之后的所有事件。

針對(duì)用戶作業(yè)出現(xiàn)故障而導(dǎo)致結(jié)果丟失或者重復(fù)的問(wèn)題,F(xiàn)link 提供3種語(yǔ)義:

① At-Least-Once 最少一次 :不會(huì)丟失數(shù)據(jù),但可能會(huì)有重復(fù)結(jié)果。

② Exactly-Once 精確一次 :checkpoint barrier 對(duì)齊機(jī)制可以保障精確一次。

① FailureRateRestartStrategy :允許在指定時(shí)間間隔內(nèi)的最大失敗次數(shù),同時(shí)可以設(shè)置重啟延時(shí)時(shí)間。

② FixedDelayRestartStrategy :允許指定的失敗次數(shù),同時(shí)可以設(shè)置重啟延時(shí)時(shí)間。

③ NoRestartStrategy :不需要重啟,即 Job 直接失敗。

④ ThrowingRestartStrategy :不需要重啟,直接拋異常。

Job Restart 策略可以通過(guò) env 設(shè)置。

上述策略的父類接口是RestartStrategy,其關(guān)鍵是restart(重啟操作)。

① RestartAllStrategy :重啟全部 task,默認(rèn)策略。

② RestartInpidualStrategy :恢復(fù)單個(gè) task。如果該 task 沒(méi)有source,可能導(dǎo)致數(shù)據(jù)丟失。

③ NoOpFailoverStrategy :不恢復(fù) task。

上述策略的父類接口是FailoverStrategy,其關(guān)鍵是Factory的create(創(chuàng)建 strategy)、onTaskFailure(處理錯(cuò)誤)。

如何產(chǎn)生可靠的全局一致性快照是分布式系統(tǒng)的難點(diǎn),其傳統(tǒng)方案是使用的全局時(shí)鐘,但存在單點(diǎn)故障、數(shù)據(jù)不一致等可靠性問(wèn)題 。為了解決該問(wèn)題, Chandy-Lamport 算法采用 marker 的傳播來(lái)代替全局時(shí)鐘 。

① 進(jìn)程 Pi 記錄自己的進(jìn)程狀態(tài),同時(shí)生產(chǎn)一個(gè)標(biāo)識(shí)信息 marker(與正常 message 不同),通過(guò) ouput channel 發(fā)送給系統(tǒng)里面的其他進(jìn)程。

② 進(jìn)程 Pi 開(kāi)始記錄所有 input channel 接收到的 message

進(jìn)程 Pj 從 input channel Ckj 接收到 marker。如果 Pj 還沒(méi)有記錄自己的進(jìn)程狀態(tài),則 Pj 記錄自己的進(jìn)程狀態(tài),向 output channel 發(fā)送 marker;否則 Pj 正在記錄自己的進(jìn)程狀態(tài)(該 marker 之前的 message)。

所有的進(jìn)程都收到 marker 信息并且記錄下自己的狀態(tài)和 channel 的狀態(tài)(包含的 message)。

Flink 的分布式異步快照實(shí)現(xiàn)了Chandy Lamport 算法,其核心思想是 在 source 插入 barrier 代替 Chandy-Lamport 算法中的 marker,通過(guò)控制 barrier 的同步來(lái)實(shí)現(xiàn) snapshot 的備份和 Exactly-Once 語(yǔ)義 。

Checkpoint Coordinator 向所有 source 節(jié)點(diǎn) trigger Checkpoint。

source task向下游廣播barrier。

當(dāng)source task備份完自己的狀態(tài)后,會(huì)將備份數(shù)據(jù)的地址(state handle)通知 Checkpoint Coordinator。

map和sink task收集齊上游source的barrier n,執(zhí)行本地快照。下面例子是RocksDB增量Checkpoint 的流程:首先RocksDB會(huì)全量保存到磁盤(pán)上(紅色大三角表示),然后Flink會(huì)從中選擇沒(méi)有上傳的文件進(jìn)行持久化備份(紫色小三角)。

map和sink task在完成Checkpoint 之后,將狀態(tài)地址state handle返回通知 Coordinator。

當(dāng)Checkpoint Coordinator收到全部task的state handle,就確定該Checkpoint已完成,并向持久化存儲(chǔ)中備份一個(gè)Checkpoint Meta(元數(shù)據(jù),包括該checkpoint狀態(tài)數(shù)據(jù)的備份地址)。

容錯(cuò)糾錯(cuò)機(jī)制的意義和目的

建立容錯(cuò)機(jī)制,讓人能作為、敢作為,這主要是針對(duì)一些人存在不作為、不會(huì)為、亂作為,或不敢作為的情況。容錯(cuò)就意味著可以給他們嘗試的機(jī)會(huì),糾錯(cuò)就是對(duì)于錯(cuò)誤的改正,是一種對(duì)于工作內(nèi)容的補(bǔ)充,通過(guò)這樣的方式放開(kāi)他們的手腳,才可以更加有所作為。

詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。

標(biāo)簽