Flink 支援的重啟策略有哪些
Flink支援不同的重啟策略,可以控制在發生故障時如何重啟新啟動作業。
預設重啟策略是透過Flink的配置檔案設定的flink-conf.yaml。配置引數restart-strategy定義採用的策略。
如果未啟用檢查點,則使用“無重啟”策略。如果啟用了檢查點並且尚未配置重啟策略,則固定延遲策略將用於 Integer.MAX_VALUE重啟嘗試。
重啟策略分為:固定延遲重啟策略、故障率重啟策略、無重啟策略、後備重啟策略。
1.固定延遲重啟策略
固定延遲重啟策略是嘗試給定次數重新啟動作業。如果超過最大嘗試次數,則作業失敗。在兩次連續重啟嘗試之間,會有一個固定的延遲等待時間。
透過在flink-conf.yaml中配置引數:
# fixed-delay:固定延遲策略
restart-strategy: fixed-delay
# 嘗試5次,預設Integer.MAX_VALUE
restart-strategy.fixed-delay.attempts: 5
# 設定延遲時間10s,預設為 akka.ask.timeout時間
restart-strategy.fixed-delay.delay: 10s
2.故障率重啟策略
故障率重啟策略在故障後重新作業,當設定的故障率(failure rate)超過每個時間間隔的故障時,作業最終失敗。在兩次連續重啟嘗試之間,重啟策略延遲等待一段時間。
在flink-conf.yaml檔案配置
# 設定重啟策略為failure-rate
restart-strategy: failure-rate
# 失敗作業之前的給定時間間隔內的最大重啟次數,預設1
restart-strategy.failure-rate.max-failures-per-interval: 3
# 測量故障率的時間間隔。預設1min
restart-strategy.failure-rate.failure-rate-interval: 5min
# 兩次連續重啟嘗試之間的延遲,預設akka.ask.timeout時間
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());
4.後備重啟策略
使用群集定義的重新啟動策略。這對於啟用檢查點的流式傳輸程式很有幫助。預設情況下,如果沒有定義其他重啟策略,則選擇固定延遲重啟策略。
本文來源於:奈學開發者社群,如有侵權,請聯絡我刪除~
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69976011/viewspace-2710962/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 網路安全的功能和策略有哪些?
- Flink Restart Strategies重啟策略機制深入剖析-Flink牛刀小試REST
- 企業微信公眾號的運營策略有哪些?
- 8Manage:提高專案執行力的策略有哪些?
- Apache DolphinScheduler支援Flink嗎?Apache
- 【Flink】基於 Flink 的流式資料實時去重
- 在K8S中,映象下載策略有哪些?K8S
- DDoS攻擊是什麼?網站DDoS防禦策略有哪些?網站
- 電商企業在實施ERP專案時的應對策略有哪些?
- 如何修改docker容器的重啟策略(重啟模式)?Docker模式
- 決策支援系統(Decision Support System,DSS)
- 重學了計算機網路,略有小成,經驗全部分享出來計算機網路
- 如何透過資料分析來支援TPM模式的決策?模式
- Flink啟動Yarn session模式的部署報錯YarnSession模式
- Flink 2.0 啟航,開啟全新篇章
- Flink 1.11.0 釋出,有哪些值得關注的新特性?
- 支援雲列印的印表機有哪些?
- hadoop需要哪些技術支援Hadoop
- JVM 還支援哪些語言JVM
- 【Flink】Deduplicate 去重運算元原始碼解讀原始碼
- Mac重啟Finder的使用技巧!Mac
- 運維必收乾貨 | Linux關機命令和重啟命令有哪些?運維Linux
- Apache Flink原始碼分析---JobManager啟動流程Apache原始碼
- [Flink] Flink 版本特性的演進
- H5的哪些特性需要https支援呢?H5HTTP
- nginx關閉/重啟/啟動的操作方法Nginx
- 4.2.6 禁用和啟用元件的Oracle重啟管理元件Oracle
- 重啟python程式Python
- linus mysql 重啟MySql
- 電腦當機重啟的快捷鍵是什麼 導致電腦當機的原因有哪些
- redis 支援哪些資料型別Redis資料型別
- Python支援哪些資料型別Python資料型別
- win10安裝office要求重啟後無限重啟的解決教程Win10
- Android Service重啟恢復(Service程式重啟)原理解析Android
- 製造業推進數字化轉型有哪些難點?SAP ERP系統代理商重慶達策
- 幹掉 “重複程式碼” 的技巧有哪些
- RestCloud AppLink已支援的資料來源有哪些?RESTCloudAPP
- ETLCloud支援的資料處理型別包括哪些?Cloud型別