flink支援不同的重啟策略,可以控制在發生故障時如何重啟新啟動作業。
預設重啟策略是通過flink的配置檔案設定的flink-conf.yaml。配置引數restart-strategy定義採用的策略。
如果未啟用檢查點,則使用「無重啟」策略。如果啟用了檢查點並且尚未配置重啟策略,則固定延遲策略將用於 integer.max_value重啟嘗試。
重啟策略分為:固定延遲重啟策略、故障率重啟策略、無重啟策略、後備重啟策略。
1.固定延遲重啟策略
固定延遲重啟策略是嘗試給定次數重新啟動作業。如果超過最大嘗試次數,則作業失敗。在兩次連續重啟嘗試之間,會有乙個固定的延遲等待時間。
通過在flink-conf.yaml中配置引數:
restart-strategy: fixed-delay
restart-strategy.fixed-delay.attempts: 5
restart-strategy.fixed-delay.delay: 10s
2.故障率重啟策略
故障率重啟策略在故障後重新作業,當設定的故障率(failure rate)超過每個時間間隔的故障時,作業最終失敗。在兩次連續重啟嘗試之間,重啟策略延遲等待一段時間。
在flink-conf.yaml檔案配置
restart-strategy: failure-rate
restart-strategy.failure-rate.max-failures-per-interval: 3
restart-strategy.failure-rate.failure-rate-interval: 5min
restart-strategy.failure-rate.delay: 10s
在**中設定:
executionenvironment env = executionenvironment.getexecutionenvironment();
// 3為最大失敗次數;5min為測量的故障時間;10s為2次間的延遲時間
env.setrestartstrategy(restartstrategies.failureraterestart(3,time.of(5, timeunit.minutes),time.of(10, timeunit.seconds)));
3.無重啟策略
作業直接失敗,不嘗試重啟。
在flink-conf.yaml中配置:
restart-strategy: none
在**中實現:
executionenvironment env = executionenvironment.getexecutionenvironment();
env.setrestartstrategy(restartstrategies.norestart());
測試的策略有哪些?
測試的策略有哪些?已登出 黑盒 白盒,靜態 動態,手工 自動,冒煙測試,回歸測試,公測 beta測試的策略 按開發階段劃分 1,單元測試 unit testing 又稱模組測試。對軟體的組成單位進行測試,其目的是檢驗軟體 基本組成單位的正確性。測試的物件的是軟體測試的最小單位 模組。2,整合測試 i...
redis 淘汰策略有哪些?
maxmemory 用於指定 redis 能使用的最大記憶體。既可以在 redis.conf 檔案中設定,也可以在執行過程中通過 config set 命令動態修改。例如,要設定 100mb 的記憶體限制,可以在 redis.conf 檔案中這樣配置 maxmemory 100mb 當記憶體使用達到...
優秀的爬蟲策略有哪些特性?
經常使用 ip的爬蟲工作者都知道,網際網路上擁有海量的資料,對應的爬蟲工作量非常艱鉅,所以爬蟲程式的效能非常重要。不同 對應的爬蟲策略各不相同,那麼優秀的爬蟲策略都具備哪些特性呢?友好性爬蟲的友好性有兩個含義 一是保護目標 的部分私密性,二是減少目標 的網路負載。對於 所有者來說,有些內容是不希望被...