如何迁移 Flink 任务到实时计算
作者 | 景麗寧(硯田),阿里巴巴技術(shù)專家景麗寧(硯田)
本文由阿里巴巴技術(shù)專家景麗寧(硯田)分享,主要介紹如何遷移Flink任務(wù)到實(shí)時計算 Flink 中來。內(nèi)容主要分為以下幾部分:
通常用戶在線下主要使用 Flink run,這會造成一些問題,比如:同一個配置因版本而變化;無法快速切換不同版本;無法從之前的作業(yè)恢復(fù)。
那么如何從線下遷移到線上呢?本文將通過下面四部分來向大家介紹。
一、如何遷移:從 Flink run 到流計算平臺
如下圖的線下命令如何遷移到線上。首先打開 VVP UI,添加基礎(chǔ)配置,主要包括:作業(yè)名稱、Jar URI、一些主要參數(shù)和并行度。還可以點(diǎn)擊高級配置,配置更多信息。
比如高級配置里的行為配置,分為三部分:升級策略、初始狀態(tài)和恢復(fù)策略。升級策略一般選擇Stateless,初始狀態(tài)選擇Running,恢復(fù)策略選擇Latest State。
升級策略選擇Stateless,表示針對已經(jīng)在運(yùn)行的作業(yè),編輯并保存配置后,會直接把原作業(yè)停掉,然后重新啟動一個更新的作業(yè);選擇Stateble,針對正在運(yùn)行的作業(yè)做配置編輯并保存的話,作業(yè)會先做一次Savepoint,然后加載新的配置并使用該 Savepoint啟動新的作業(yè)。
恢復(fù)策略選擇LatestSavepoint,是指作業(yè)在暫停情況下,如果再啟動,將使用最新的Savepoint啟動。
上面介紹的是 Flink 配置中比較重要的部分,下面圖片顯示的是另外一部分可以設(shè)置Checkpoint間隔等的配置,接下來是資源配置。日志配置部分可以選擇日志保存位置,方便日后如果作業(yè)出現(xiàn)問題,可以方便的排查問題。
Flink 作業(yè)配置完成并啟動運(yùn)行后,如果出現(xiàn)異常,可以通過運(yùn)行事件查看運(yùn)行情況和問題。也可以打開 Flink UI的Job Manager,查看日志情況。
二、多Jar情況下,用戶如何添加其他依賴的Jar
一些用戶有自定義依賴且無法通過 fat jar 解決問題。舉個例子,A用戶有自己的main Jar和一些其他的Jar,這些Jar的應(yīng)用場景不一樣,那么首先需要在資源管理頁面上傳Jar包,上傳完成之后就可以在頁面使用該文件。
上傳后再到高級配置中,找到“額外依賴的Jar”,下拉并選擇剛剛上傳的Jar 包就可以了。
三、用戶如何通過配置文件定義作業(yè)
在資源管理里上傳文件,然后在高級配置里選添加依賴,選擇需要的依賴。如果啟動函數(shù)里,main class是需要讀取某個文件,先通過依賴添加文件,然后再根據(jù)提示的方式讀取文件。
以上兩個方式是放置用戶Jar的方式,jar 和其他文件都可以在這里存放。
四、如何復(fù)用原來的state加速作業(yè)恢復(fù)
如果在運(yùn)行作業(yè)時發(fā)現(xiàn)問題,一般情況下是停下來然后找到問題修復(fù)后再重啟。用戶需要在創(chuàng)建的時候指定 Checkpoint 需要的 OSS。 如果開啟了Checkpoint,后續(xù)作業(yè)就可以直接從Checkpoint中恢復(fù)。
首先確認(rèn)高級配置中恢復(fù)策略選擇LatestState或LatestSavepoint。在這個前提下,可以暫停作業(yè)(千萬不要停止作業(yè)),暫停會觸發(fā)Savepoint,當(dāng)再次點(diǎn)擊啟動時,會從這次Savepoint點(diǎn)恢復(fù)。
打開 Flink UI ,然后點(diǎn)擊作業(yè)快照,在作業(yè)快照中可以查看 Flink Checkpoint指標(biāo),里面會顯示Restore的次數(shù)和最后一次Restore的地址等信息,可確定作業(yè)是從最新的 State 恢復(fù)。
當(dāng)作業(yè)正在運(yùn)行,想對當(dāng)前作業(yè)進(jìn)項拷貝,如何操作呢?在作業(yè)控制頁面點(diǎn)擊Checkpoint,找到歷史快照并點(diǎn)擊其對應(yīng)的最右側(cè)的“從該快照復(fù)制作業(yè)”,那么就完成了把當(dāng)前作業(yè)復(fù)制的操作,復(fù)制內(nèi)容包括正在運(yùn)行作業(yè)的Jar 包配置等。點(diǎn)擊啟動后,可以從作業(yè)快照中查看到新作業(yè)是從上個作業(yè)最近的一次Savepoint中復(fù)制啟動的。
原文鏈接:https://developer.aliyun.com/article/781175?
版權(quán)聲明:本文內(nèi)容由阿里云實(shí)名注冊用戶自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,阿里云開發(fā)者社區(qū)不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。具體規(guī)則請查看《阿里云開發(fā)者社區(qū)用戶服務(wù)協(xié)議》和《阿里云開發(fā)者社區(qū)知識產(chǎn)權(quán)保護(hù)指引》。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,填寫侵權(quán)投訴表單進(jìn)行舉報,一經(jīng)查實(shí),本社區(qū)將立刻刪除涉嫌侵權(quán)內(nèi)容。總結(jié)
以上是生活随笔為你收集整理的如何迁移 Flink 任务到实时计算的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大促密集,CDN如何保障电商体验如丝般顺
- 下一篇: mPaaS 客户端问题排查之突如其来的“