完成作業開發後,您需要將作業部署。部署將開發和生產隔離,部署後不影響運行中的作業,只有(重新)啟動後才會正式上線運行。本文為您介紹如何部署SQL作業、YAML、JAR作業和Python作業。
前提條件
已完成作業開發。
SQL作業開發,詳情請參見SQL作業開發。
YAML作業開發,詳情請參見資料攝入YAML作業開發(公測中)。
部署Python作業需要已完成Python包開發,詳情請參見Python作業開發。
部署JAR作業需要已完成JAR包開發,詳情請參見JAR作業開發。
使用限制
僅Realtime Compute引擎VVR 4.0.0及以上版本支援部署Python作業。
僅Realtime Compute引擎VVR 8.0.9及以上版本支援部署YAML作業。
資源上傳
作業部署前,您可以根據需要將JAR包、Python作業檔案或Python依賴上傳到Flink開發控制台。
單擊目標工作空間操作列下的控制台。
在左側導覽列,單擊檔案管理。
單擊上傳資源,選擇您要上傳的JAR包、Python作業檔案或Python依賴。
如果您的作業是Python API類型,則需要上傳PyFlink的官方JAR包。官方JAR的下載地址,請參見PyFlink V1.11和PyFlink V1.12。
操作步驟
單擊目標工作空間操作列下的控制台。您可以根據需要部署的作業類型進行如下操作。
部署SQL作業
在資料開發 > ETL頁面,進行SQL作業開發,詳情請參見SQL作業開發。
SQL作業開發完畢後,單擊部署。
填寫配置資訊如下。
參數
說明
備忘
可選,填寫備忘資訊。
作業標籤
配置作業標籤後,您可以在營運中心 > 作業營運頁面根據標籤名和標籤值快速過濾找到目標作業。您最多建立3組作業標籤。
部署目標
在下拉式清單中,選擇目標資源隊列或者Session叢集(請勿生產使用)。詳情請參見管理資源隊列和步驟一:建立Session叢集。
說明部署到Session叢集的作業不支援顯示監控警示、配置監控警示和開啟自動調優功能。請勿將Session叢集用於正式生產環境,Session叢集可以作為開發測試環境。詳情請參見作業調試。
跳過部署前的深度檢查
選中後,在部署前就跳過深度檢查。
單擊確定。
在作業營運頁面,您可以查看已部署的SQL作業,並根據需要啟動作業。
部署YAML作業
在資料開發 > 資料攝入頁面,進行YAML作業開發,詳情請參見資料攝入YAML作業開發(公測中)。
YAML作業開發完畢後,單擊部署。
填寫配置資訊如下。
參數
說明
備忘
可選,填寫備忘資訊。
作業標籤
配置作業標籤後,您可以在營運中心 > 作業營運頁面根據標籤名和標籤值快速過濾找到目標作業。您最多建立3組作業標籤。
部署目標
在下拉式清單中,選擇目標資源隊列,詳情請參見管理資源隊列。
跳過部署前的深度檢查
選中後,在部署前就跳過深度檢查。
單擊確定。
在作業營運頁面,您可以查看已部署的YAML作業,並根據需要啟動作業。
部署JAR作業
在營運中心 > 作業營運頁面,單擊部署作業 > JAR作業。
填寫配置資訊如下。
參數
說明
部署模式
請選擇部署為流模式或批模式。
部署名稱
填寫對應的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.11和PyFlink 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開發控制台左側資源管理或部署作業的附件依賴檔案右側的上傳附件依賴檔案。上傳的附件依賴檔案被儲存在您開通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加密系統中標記一個唯一的身份。
單擊部署。
在作業營運頁面,您可以查看已部署的JAR作業,並根據需要啟動作業。
部署Python作業
在營運中心 > 作業營運頁面,單擊部署作業 > Python作業。
填寫配置資訊如下。
參數
說明
部署模式
部署為流模式或批模式。
部署名稱
填寫對應的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
程式的入口類。如果Python作業檔案為.py檔案,則該項不需要填寫;如果Python作業檔案為.zip檔案,則需要在此處輸入您的Entry Module,例如example.word_count。
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開發控制台左側資源管理或部署作業的附件依賴檔案右側的上傳附件依賴檔案。上傳的附件依賴檔案被儲存在您開通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加密系統中標記一個唯一的身份。
單擊部署。
在作業營運頁面,您可以查看已部署的Python作業,並根據需要啟動作業。