完成作業開發后,您需要將作業部署。部署將開發和生產隔離,部署后不影響運行中的作業,只有(重新)啟動后才會正式上線運行。本文為您介紹如何部署SQL作業、YAML、JAR作業和Python作業。
前提條件
已完成作業開發。
SQL作業開發,詳情請參見SQL作業開發。
YAML作業開發,詳情請參見數據攝入YAML作業開發(公測中)。
部署Python作業需要已完成Python包開發,詳情請參見Python作業開發。
部署JAR作業需要已完成JAR包開發,詳情請參見JAR作業開發。
資源上傳
作業部署前,您可以根據需要將JAR包、Python作業文件或Python依賴上傳到Flink開發控制臺。
登錄實時計算控制臺。
單擊目標工作空間操作列下的控制臺。
在左側導航欄,單擊文件管理。
單擊上傳資源,選擇您要上傳的JAR包、Python作業文件或Python依賴。
如果您的作業是Python API類型,則需要上傳PyFlink的官方JAR包。官方JAR的下載地址,請參見PyFlink V1.11和PyFlink V1.12。
操作步驟
登錄實時計算控制臺。
單擊目標工作空間操作列下的控制臺。您可以根據需要部署的作業類型進行如下操作。
部署SQL作業
在SQL作業開發。
頁面,進行SQL作業開發,詳情請參見SQL作業開發完畢后,單擊部署。
填寫配置信息如下。
參數
說明
備注
可選,填寫備注信息。
作業標簽
配置作業標簽后,您可以在
頁面根據標簽名和標簽值快速過濾找到目標作業。您最多創建3組作業標簽。部署目標
在下拉列表中,選擇目標資源隊列或者Session集群(請勿生產使用)。詳情請參見管理資源隊列和步驟一:創建Session集群。
說明部署到Session集群的作業不支持顯示監控告警、配置監控告警和開啟自動調優功能。請勿將Session集群用于正式生產環境,Session集群可以作為開發測試環境。詳情請參見作業調試。
跳過部署前的深度檢查
選中后,在部署前就跳過深度檢查。
單擊確定。
在作業運維頁面,您可以查看已部署的SQL作業,并根據需要啟動作業。
部署YAML作業
僅實時計算引擎VVR 8.0.9及以上版本支持部署YAML作業。
- 頁面,進行YAML作業開發,詳情請參見
YAML作業開發完畢后,單擊部署。
填寫配置信息如下。
參數
說明
備注
可選,填寫備注信息。
作業標簽
配置作業標簽后,您可以在
頁面根據標簽名和標簽值快速過濾找到目標作業。您最多創建3組作業標簽。部署目標
在下拉列表中,選擇目標資源隊列,詳情請參見管理資源隊列。
跳過部署前的深度檢查
選中后,在部署前就跳過深度檢查。
單擊確定。
在作業運維頁面,您可以查看已部署的YAML作業,并根據需要啟動作業。
部署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/不能省略,且不能更改。
附加依賴文件
(推薦)選擇您已上傳的目標附加依賴文件。
您需要提前在實時計算開發控制臺左側資源管理或部署作業的附件依賴文件右側的上傳附件依賴文件。上傳的附件依賴文件被保存位置及路徑詳情如下:
如果您工作空間存儲類型為OSS Bucket,則文件實際會被存放至名稱為您開通Flink工作空間時綁定的OSS Bucket下的artifacts目錄。文件路徑格式為
oss://<您綁定的OSS Bucket名稱>/artifacts/namespaces/<項目空間名稱>
。如果您工作空間存儲類型為全托管存儲,則文件實際會被存放至實時計算開發控制臺資源管理。文件路徑格式為
oss://flink-fullymanaged-<工作空間ID>/artifacts/namespaces/<項目空間名稱>
目錄下。
填寫目標附加依賴文件的OSS路徑。
上傳附加依賴文件的OSS路徑必須為開通當前Flink工作空間時選擇的OSS Bucket地址。
填寫目標附加依賴文件的URL。
必須為實時計算Flink版可以訪問且被允許訪問(公共讀或無權限)的其他外部存儲系統地址。目前僅支持以文件名結尾的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作業名稱。
引擎版本
引擎版本詳情請參見引擎版本介紹和生命周期策略。建議您使用推薦版本或穩定版本,版本標記含義詳情如下:
推薦版本:當前最新大版本下的最新小版本。
穩定版本:還在產品服務期內的大版本下最新的小版本,已修復歷史版本缺陷。
普通版本:還在產品服務期內的其他小版本。
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依賴管理。
(推薦)選擇您已上傳的目標附加依賴文件。
您需要提前在實時計算開發控制臺左側資源管理或部署作業的附件依賴文件右側的上傳附件依賴文件。上傳的附件依賴文件被保存位置及路徑詳情如下:
如果您工作空間存儲類型為OSS Bucket,則文件實際會被存放至名稱為您開通Flink工作空間時綁定的OSS Bucket下的artifacts目錄。文件路徑格式為
oss://<您綁定的OSS Bucket名稱>/artifacts/namespaces/<項目空間名稱>
。如果您工作空間存儲類型為全托管存儲,則文件實際會被存放至實時計算開發控制臺資源管理。文件路徑格式為
oss://flink-fullymanaged-<工作空間ID>/artifacts/namespaces/<項目空間名稱>
目錄下。
填寫目標附加依賴文件的OSS路徑。
上傳附加依賴文件的OSS路徑必須為開通當前Flink工作空間時選擇的OSS Bucket地址。
填寫目標附加依賴文件的URL。
必須為實時計算Flink版可以訪問且被允許訪問(公共讀或無權限)的其他外部存儲系統地址。目前僅支持以文件名結尾的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作業,并根據需要啟動作業。