天天看點

如何跑通第一個 DataStream 作業

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

本文由阿裡巴巴技術專家葉佳純(自知)分享,主要介紹如何在實時計算 Flink 版中跑通 DataStream 作業。文章大綱如下:
  1. 準備工作
  2. 建立和啟動作業
  3. Deployment 基本操作
  4. Deployment 配置
  5. Deployment 其他操作
  6. UI / Metrics 檢視

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

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

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

如何跑通第一個 DataStream 作業

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

如何跑通第一個 DataStream 作業

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

如何跑通第一個 DataStream 作業

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

如何跑通第一個 DataStream 作業

補充好作業名稱等資訊,作業就建立完成了。

如何跑通第一個 DataStream 作業

建立作業後,在作業詳情頁可以看到一些基本操作和展示的基礎資訊。剛建立完的作業狀态是Cancelled,可以點選狀态欄右側的“啟動”來啟動作業。

如何跑通第一個 DataStream 作業

啟動中,頁面會顯示目前執行個體,每一個執行個體都有唯一的ID。

如何跑通第一個 DataStream 作業

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

如何跑通第一個 DataStream 作業

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

如何跑通第一個 DataStream 作業

Deployment的基本操作

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

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

如何跑通第一個 DataStream 作業

Deployment的配置

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

如何跑通第一個 DataStream 作業

上圖中的“更新政策”是指在修改Deployment時,是否需要重新開機,如果需要重新開機,是帶狀态重新開機還是不帶狀态重新開機。如下圖如果選擇None,那麼在修改作業配置時不會影響目前正在運作的作業。

如何跑通第一個 DataStream 作業

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

如何跑通第一個 DataStream 作業

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

如何跑通第一個 DataStream 作業

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

下圖右側“建立執行個體的最大重試次數”,是指啟動Deployment的最大重試次數,當遇到問題Deployment的重試超出了配置的次數,啟動Deployment的狀态就會變成紅色的Failed。

如何跑通第一個 DataStream 作業

Stop with Drain是指 stop接口是不是帶Drain參數;标簽是指可以給Deployment打多個标簽,作用是可以在作業清單更快捷的搜尋到所需要的Deployment。

如何跑通第一個 DataStream 作業

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

如何跑通第一個 DataStream 作業

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

如何跑通第一個 DataStream 作業

作業快照的使用

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

第一種點選Savepoint一次就會觸發Savepoint而留下快照;

第二種是運作中的作業,預設每10秒Checkpoint會留下一個快照;

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

如何跑通第一個 DataStream 作業

Secret Values

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

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

如何跑通第一個 DataStream 作業

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

如何跑通第一個 DataStream 作業

打開作業清單,選擇應用作業,在Jar URI中設定變量。

如何跑通第一個 DataStream 作業

如何跑通第一個 DataStream 作業

如下圖在頁面中右側有 “名額”,點選名額,跳轉頁面,即可檢視作業的名額資訊。

如何跑通第一個 DataStream 作業
如何跑通第一個 DataStream 作業

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

如何跑通第一個 DataStream 作業
如何跑通第一個 DataStream 作業