全部產品
Search
文件中心

Realtime Compute for Apache Flink:部署作業

更新時間:Dec 06, 2024

完成作業開發後,您需要將作業部署。部署將開發和生產隔離,部署後不影響運行中的作業,只有(重新)啟動後才會正式上線運行。本文為您介紹如何部署SQL作業、YAML、JAR作業和Python作業。

前提條件

已完成作業開發。

資源上傳

作業部署前,您可以根據需要將JAR包、Python作業檔案或Python依賴上傳到Flink開發控制台。

  1. 登入Realtime Compute控制台

  2. 單擊目標工作空間操作列下的控制台

  3. 在左側導覽列,單擊檔案管理

  4. 單擊上傳資源,選擇您要上傳的JAR包、Python作業檔案或Python依賴。

說明

如果您的作業是Python API類型,則需要上傳PyFlink的官方JAR包。官方JAR的下載地址,請參見PyFlink V1.11PyFlink V1.12

操作步驟

  1. 登入Realtime Compute控制台

  2. 單擊目標工作空間操作列下的控制台。您可以根據需要部署的作業類型進行如下操作。

    部署SQL作業

    1. 資料開發 > ETL頁面,進行SQL作業開發,詳情請參見SQL作業開發

    2. SQL作業開發完畢後,單擊部署

    3. 填寫配置資訊如下。

      參數

      說明

      備忘

      可選,填寫備忘資訊。

      作業標籤

      配置作業標籤後,您可以在營運中心 > 作業營運頁面根據標籤名標籤值快速過濾找到目標作業。您最多建立3組作業標籤。

      部署目標

      在下拉式清單中,選擇目標資源隊列或者Session叢集(請勿生產使用)。詳情請參見管理資源隊列步驟一:建立Session叢集

      說明

      部署到Session叢集的作業不支援顯示監控警示、配置監控警示和開啟自動調優功能。請勿將Session叢集用於正式生產環境,Session叢集可以作為開發測試環境。詳情請參見作業調試

      跳過部署前的深度檢查

      選中後,在部署前就跳過深度檢查。

    4. 單擊確定

      作業營運頁面,您可以查看已部署的SQL作業,並根據需要啟動作業。

    部署YAML作業

    僅Realtime Compute引擎VVR 8.0.9及以上版本支援部署YAML作業。

    1. 資料開發 > 資料攝入頁面,進行YAML作業開發,詳情請參見資料攝入YAML作業開發(公測中)

    2. YAML作業開發完畢後,單擊部署

    3. 填寫配置資訊如下。

      參數

      說明

      備忘

      可選,填寫備忘資訊。

      作業標籤

      配置作業標籤後,您可以在營運中心 > 作業營運頁面根據標籤名標籤值快速過濾找到目標作業。您最多建立3組作業標籤。

      部署目標

      在下拉式清單中,選擇目標資源隊列,詳情請參見管理資源隊列

      跳過部署前的深度檢查

      選中後,在部署前就跳過深度檢查。

    4. 單擊確定

      作業營運頁面,您可以查看已部署的YAML作業,並根據需要啟動作業。

    部署JAR作業

    1. 營運中心 > 作業營運頁面,單擊部署作業 > JAR作業

    2. 填寫配置資訊如下。

      參數

      說明

      部署模式

      請選擇部署為流模式或批模式。

      部署名稱

      填寫對應的JAR作業名稱。

      引擎版本

      引擎版本詳情請參見引擎版本介紹生命週期策略。建議您使用推薦版本或穩定版本,版本戳記含義詳情如下:

      • 推薦版本:當前最新大版本下的最新小版本。

      • 穩定版本:還在產品服務期內的大版本下最新的小版本,已修複歷史版本缺陷。

      • 普通版本:還在產品服務期內的其他小版本。

      • EOS版本:超過產品服務期限的版本。

      說明

      從VVR 3.0.3版本(對應Flink 1.12版本)開始,VVP支援同時運行多個不同引擎版本的JAR作業。如果您的作業已使用了Flink 1.12及更早版本的引擎,您需要按照以下情況進行處理:

      • Flink 1.12版本:停止後啟動作業,系統將自動將引擎升級為vvr-3.0.3-flink-1.12版本。

      • Flink 1.11或Flink 1.10版本:手動將作業引擎版本升級到vvr-3.0.3-flink-1.12或vvr-4.0.8-flink-1.13版本後重啟作業,否則會在啟動作業時逾時報錯。

      JAR URI

      請選擇一個檔案或者手動上傳新檔案,您可以拖拽檔案到此地區或者單擊右側上傳表徵圖選擇檔案上傳。

      說明

      如果您的作業是Python API類型,則需要填寫PyFlink的官方JAR包。官方JAR的下載地址請參見PyFlink V1.11PyFlink V1.12

      Entry Point Class

      程式的入口類。如果您的JAR包未指定主類,請在此處輸入您的Entry Point Class類的標準路徑。

      說明

      如果您的作業是Python API類型,Entrypoint class應該填寫為org.apache.flink.client.python.PythonDriver。

      Entry Point Main Arguments

      您可以在此處傳入參數,在主方法裡面調用該參數。

      說明
      • 參數資訊長度不要大於1024,且不建議用來傳複雜參數,複雜參數指包括了換行、空格或者其他特殊字元的參數。如果您需要傳入複雜參數,請使用附加依賴檔案來傳輸。

      • 如果您的作業是Python API類型,需要首先上傳您的Python作業檔案。Python作業檔案上傳之後,預設會被上傳到作業運行節點的/flink/usrlib/目錄下。

        假如您的Python作業檔案名稱為word_count.py,則Entrypoint main args需要填寫為-py /flink/usrlib/word_count.py

        Python作業檔案的路徑需要填寫為完整路徑,/flink/usrlib/不能省略,且不能更改。

      附加依賴檔案

      • (推薦)選擇您已上傳的目標附加依賴檔案。

        您需要提前在Realtime Compute開發控制台左側資源管理或部署作業的附件依賴檔案右側的更新JAR上傳附件依賴檔案。上傳的附件依賴檔案被儲存在您開通Flink工作空間時綁定的OSS Bucket下的artifacts目錄。檔案路徑格式為oss://<您綁定的OSS Bucket名稱>/artifacts/namespaces/<專案空間名稱>

      • 填寫目標附加依賴檔案的OSS路徑。

        上傳附加依賴檔案的OSS路徑必須為開通當前Flink工作空間時選擇的OSS Bucket地址。

      • 填寫目標附加依賴檔案的URL。

        必須為Realtime ComputeFlink版可以訪問且被允許訪問(公用讀取或無許可權)的其他外部儲存系統地址。目前僅支援以檔案名稱結尾的URL,例如http://xxxxxx/<file>。

      說明
      • 以上三種方式上傳的附件依賴檔案,也會被下載到目標機器,在作業運行時,載入到JM和TM所在Pod的/flink/usrlib目錄下。

      • 如果部署目標選擇為Session叢集,則該作業不支援配置附加依賴檔案。

      部署目標

      在下拉式清單中,選擇目標資源隊列或者Session叢集(請勿生產使用)。詳情請參見管理資源隊列步驟一:建立Session叢集

      說明

      部署到Session叢集的作業不支援顯示監控警示、配置監控警示和開啟自動調優功能。請勿將Session叢集用於正式生產環境,Session叢集可以作為開發測試環境。詳情請參見作業調試

      備忘

      可選,填寫備忘資訊。

      作業標籤

      配置作業標籤後,您可以在作業營運頁面根據標籤名標籤值快速過濾找到目標作業。您最多建立3組作業標籤。

      更多設定

      開啟該開關後,您需要配置以下資訊:

      • Kerberos叢集:單擊左側下拉式清單選擇您已建立的Kerberos叢集,Kerberos叢集建立操作詳情請參見建立Kerberos叢集

      • principal:Kerberos principal又稱為主體,主體可以是使用者或服務,用於在Kerberos加密系統中標記一個唯一的身份。

    3. 單擊部署

      作業營運頁面,您可以查看已部署的JAR作業,並根據需要啟動作業。

    部署Python作業

    1. 營運中心 > 作業營運頁面,單擊部署作業 > Python作業

    2. 填寫配置資訊如下。

      參數

      說明

      部署模式

      部署為流模式或批模式。

      部署名稱

      填寫對應的Python作業名稱。

      引擎版本

      引擎版本詳情請參見引擎版本介紹生命週期策略。建議您使用推薦版本或穩定版本,版本戳記含義詳情如下:

      • 推薦版本:當前最新大版本下的最新小版本。

      • 穩定版本:還在產品服務期內的大版本下最新的小版本,已修複歷史版本缺陷。

      • 普通版本:還在產品服務期內的其他小版本。

      • EOS版本:超過產品服務期限的版本。

      說明

      從VVR 3.0.3版本(對應Flink 1.12版本)開始,VVP支援同時運行多個不同引擎版本的Python作業。如果您的作業已使用了Flink 1.12及更早版本的引擎,您需要按照以下情況進行處理:

      • Flink 1.12版本:停止後啟動作業,系統將自動將引擎升級為vvr-3.0.3-flink-1.12版本。

      • Flink 1.11或Flink 1.10版本:手動將作業引擎版本升級到vvr-3.0.3-flink-1.12或vvr-4.0.8-flink-1.13版本後重啟作業,否則會在啟動作業時逾時報錯。

      Python檔案地址

      請選擇Python作業檔案。

      Python檔案可以是以.py或.zip結尾的檔案。

      Entry Module參數為空白時,該參數必須以.py結尾。

      Entry Module

      程式的入口類,例如example.word_count。

      Python檔案地址是以.zip結尾時,該參數必填。

      Entry Point Main Arguments

      作業參數。

      Python Libraries

      第三方Python包。第三方Python包會被添加到Python worker進程的PYTHONPATH中,從而在Python自訂函數中可以直接存取。如何使用第三方Python包,詳情請參見使用第三方Python包

      Python Archives

      封存檔案,目前僅支援ZIP格式的檔案,例如 .zip、.jar、.whl和.egg等。

      封存檔案會被解壓到Python worker進程的工作目錄下。如果封存檔案所在的壓縮包名稱為mydata.zip,則在Python自訂函數中可以編寫以下代碼來訪問mydata.zip封存檔案。

      def map():  
          with open("mydata.zip/mydata/data.txt") as f: 
          ...

      請參見使用自訂的Python虛擬環境使用資料檔案,瞭解更多關於Python Archives的資訊。

      附加依賴檔案

      選擇您的Python作業檔案,以及所用的依賴的資料檔案等。Python依賴詳情,請參見Python依賴管理

      • (推薦)選擇您已上傳的目標附加依賴檔案。

        您需要提前在Realtime Compute開發控制台左側資源管理或部署作業的附件依賴檔案右側的更新JAR上傳附件依賴檔案。上傳的附件依賴檔案被儲存在您開通Flink工作空間時綁定的OSS Bucket下的artifacts目錄。檔案路徑格式為oss://<您綁定的OSS Bucket名稱>/artifacts/namespaces/<專案空間名稱>

      • 填寫目標附加依賴檔案的OSS路徑。

        上傳附加依賴檔案的OSS路徑必須為開通當前Flink工作空間時選擇的OSS Bucket地址。

      • 填寫目標附加依賴檔案的URL。

        必須為Realtime ComputeFlink版可以訪問且被允許訪問(公用讀取或無許可權)的其他外部儲存系統地址。目前僅支援以檔案名稱結尾的URL,例如http://xxxxxx/<file>。

      說明
      • 以上三種方式上傳的附件依賴檔案,也會被下載到目標機器,在作業運行時,載入到JM和TM所在Pod的/flink/usrlib目錄下。

      • 如果部署目標選擇為Session叢集,則該作業不支援配置附加依賴檔案。

      部署目標

      在下拉式清單中,選擇目標資源隊列或者Session叢集(請勿生產使用)。詳情請參見管理資源隊列步驟一:建立Session叢集

      說明

      部署到Session叢集的作業不支援顯示監控警示、配置監控警示和開啟自動調優功能。請勿將Session叢集用於正式生產環境,Session叢集可以作為開發測試環境。詳情請參見作業調試

      備忘

      可選,填寫備忘資訊。

      作業標籤

      配置作業標籤後,您可以在作業營運頁面根據標籤名標籤值快速過濾找到目標作業。您最多建立3組作業標籤。

      更多設定

      開啟該開關後,您需要配置以下資訊:

      • Kerberos叢集:單擊左側下拉式清單選擇您已建立的Kerberos叢集,Kerberos叢集建立操作詳情請參見建立Kerberos叢集

      • principal:Kerberos principal又稱為主體,主體可以是使用者或服務,用於在Kerberos加密系統中標記一個唯一的身份。

    3. 單擊部署

      作業營運頁面,您可以查看已部署的Python作業,並根據需要啟動作業。

相關文檔

  • 作業啟動前或者上線後,您可以配置和修改作業資源、部署資訊,詳情請參見配置作業部署資訊配置作業資源

  • 部署完成後,您需要在營運中心 > 作業營運頁面啟動該作業,才能使作業正式上線運行。啟動步驟詳情請參見作業啟動