開發與維運

如何跑通第一個 DataStream 作業

作者 | 葉佳純(自知),阿里巴巴技術專家

本文由阿里巴巴技術專家葉佳純(自知)分享,主要介紹如何在實時計算 Flink 版中跑通 DataStream 作業。文章大綱如下:

  1. 準備工作
  2. 創建和啟動作業
  3. Deployment 基本操作
  4. Deployment 配置
  5. Deployment 其他操作
  6. UI / Metrics 查看

前面三篇內容已經介紹了實時計算 Flink 在阿里雲的整體情況和典型場景,從本篇開始將介紹實時計算 Flink 的系列操作,首先介紹如何跑通第一個DataStream。

在開始之前,首先為大家介紹在VVP上最基本最核心的資源—Deployment,Deployment包括應用的狀態和相關配置,VVP會跟蹤和彙報每一個Deployment的狀態,產生相關的資源和信息。

準備工作

Jar打包上傳,這裡用社區的一個example,實際操作的時候可以用自己的開發應用。

幻燈片2.png

在VVP頁面左側,點擊“資源上傳”,然後點擊右上角“上傳資源”,將打包好的Jar上傳。

image.png

創建和啟動作業

創建作業有兩種方式,第一種是直接通過上傳的Jar點擊創建作業,就會直接跳到創建頁面;

image.png

第二種是直接在VVP左側菜單點擊創建作業,然後在Jar Uri選擇需要執行的jar文件。

image.png

補充好作業名稱等信息,作業就創建完成了。

image.png

創建作業後,在作業詳情頁可以看到一些基本操作和展示的基礎信息。剛創建完的作業狀態是Cancelled,可以點擊狀態欄右側的“啟動”來啟動作業。

image.png

啟動中,頁面會顯示當前實例,每一個實例都有唯一的ID。

image.png

在“運行事件”裡,可以看到一些更詳細的階段性的 Event,Event也是一種資源類型。如下圖光標所選位置,是Event告警的錯誤信息,如果點擊左側“+”號,可以看到日誌詳情。

image.png

當“運行事件”中Deployment的狀態變成Running,說明作業啟動成功。注意:同一時間只能運行一個Deployment實例,也就是說如果想要重新配置作業,那麼需要先停掉運行中的作業,重新配置之後再重新啟動新作業。

image.png

Deployment的基本操作

啟動、暫停、停止是針對此作業的基本操作,不多做贅述。提醒刪除功能只能針對處於Cancelled的作業操作,處於Running和Failed的作業是不能刪除的。刪除之後無法恢復,需要謹慎。

克隆是指,如果在不修改現有Deloyment的前提下,想做一些嘗試性的配置或對比,那麼可以先把作業克隆出來。

image.png

Deployment的配置

Deployment的配置可以在新建作業時修改,也可以在運行中進行修改。

幻燈片5.png

上圖中的“升級策略”是指在修改Deployment時,是否需要重啟,如果需要重啟,是帶狀態重啟還是不帶狀態重啟。如下圖如果選擇None,那麼在修改作業配置時不會影響當前正在運行的作業。

image.png

如果需要重啟作業,有兩種選擇,Stateless是不帶狀態,即停止當前作業,並在調整配置重新啟動一個新作業;Stateful是帶狀態,即在停作業前,對作業做一個Savepoint,然後用最新配置啟動一個新作業並從這個Savepoint恢復。

image.png

恢復策略”有三個選項,None表示不帶狀態恢復作業;Latest Savepoint是指用最新的Savepoint恢復作業;Latest State是指用Checkpoint或Savepoint中最新的那個來恢復作業。當我們需要針對已經停止的作業重新啟動時,會用到恢復策略。

image.png

下圖左側“創建Savepoint的最大重試次數”,因為Savepoint是寫在OSS裡的,如果遇到問題創建Savepoint失敗了,重試次數是需要符合這裡的配置的,超過最大配置次數Savepoint的操作就會失敗。

下圖右側“創建實例的最大重試次數”,是指啟動Deployment的最大重試次數,當遇到問題Deployment的重試超出了配置的次數,啟動Deployment的狀態就會變成紅色的Failed。

image.png

Stop with Drain是指 stop接口是不是帶Drain參數;標籤是指可以給Deployment打多個標籤,作用是可以在作業列表更快捷的搜索到所需要的Deployment。

image.png

附加依賴Jar”, 在這裡不僅可以放額外的Jar,也可以放一些額外的資源文件。

image.png

Flink 版本”,現在只有1.10和1.11,兩個版本可供選擇。下圖是 Flink 的常見配置,不再贅述。

image.png

Deployment 其他操作

作業快照的使用

作業快照的使用有幾種方法:

第一種點擊Savepoint一次就會觸發Savepoint而留下快照;
第二種是運行中的作業,默認每10秒Checkpoint會留下一個快照;

作業快照還可以通過選擇某個早期的快照而不是最近的去恢復作業。點擊“從該快照復製作業”,就會folk一個Deployment,與克隆很像,但是這是指定了某個Savepoint的。複製後啟動此作業的話,就會從指定的Savepoint恢復作業。

image.png

Secret Values

Secret Value只能使用在Jar URI和 Flink Configuration兩個地方。

通常用在一些比較敏感的場景,比如Jar URI中的host部分不想暴露,那怎麼做呢?點擊VVP頁面左側“變量配置”,點擊新增變量,在彈窗完善變量名稱和變量值。

image.png

新建完成,可以看到僅僅顯示新增變量名稱,變量值是隱藏不顯示的。然後去作業應用這個變量。

image.png

打開作業列表,選擇應用作業,在Jar URI中設置變量。

image.png

UI / Metrics 查看

幻燈片7.png

如下圖在頁面中右側有 “指標”,點擊指標,跳轉頁面,即可查看作業的指標信息。

image.png

image.png

點擊“ Flink UI”的頁面。Flink UI有個使用技巧,當啟動作業後,如果有問題導致VVP上一直顯示啟動中但實際作業已經起來了,那麼在 Flink頁面裡能看到第一手的信息,可以通過 Flink UI點擊查看。

image.png

社區二維碼.png

Leave a Reply

Your email address will not be published. Required fields are marked *