本頁說明如何升級執行個體或批次管道的版本。
將 Cloud Data Fusion 執行個體和批次管道升級至最新平台和外掛程式版本,即可使用最新功能、修正錯誤及提升效能。
事前準備
- 規劃升級作業的排定停機時間。 這個程序最多需要一小時。
-
In the Google Cloud console, activate Cloud Shell.
限制
建立 Cloud Data Fusion 執行個體後,即使透過升級作業,也無法變更版本。
請勿使用 Terraform 觸發升級,因為這樣會刪除並重新建立執行個體,而非執行就地升級。這個問題會導致執行個體中的所有現有資料遺失。
如果管道因升級作業而停止,Cloud Data Fusion 不會重新啟動管道。
從 6.11.0 之前的版本升級執行個體時,升級停機時間會較長,尤其是在執行個體處理大量資料的情況下。
系統不支援升級即時管道,但如果是使用 Kafka 即時來源在 6.8.0 版中建立的管道,則不在此限。如需解決方法,請參閱「升級即時管道」。
升級 Cloud Data Fusion 執行個體
如要將 Cloud Data Fusion 執行個體升級至新的 Cloud Data Fusion 版本,請前往「執行個體詳細資料」頁面:
在 Google Cloud 控制台中,前往 Cloud Data Fusion 頁面。
按一下「Instances」(執行個體) ,然後點選執行個體名稱,前往「Instance details」(執行個體詳細資料) 頁面。
接著,使用 Google Cloud 控制台或 gcloud CLI 執行升級:
控制台
按一下「升級」,即可查看可用版本清單。
選取版本。
按一下「升級」。
確認升級作業是否成功:
重新整理「執行個體詳細資料」頁面。
按一下「查看執行個體」,即可在 Cloud Data Fusion 網頁介面中存取升級後的執行個體。
按一下選單列中的「系統管理員」。
新版本號碼會顯示在頁面頂端。
為避免在執行新版 pipeline 時發生停滯問題,請在升級後的執行個體中授予必要角色。
gcloud
如要升級至新的 Cloud Data Fusion 版本,請從本機終端機或 Cloud Shell 工作階段執行下列 gcloud CLI 指令:
gcloud beta data-fusion instances update INSTANCE_ID \ --project=PROJECT_ID \ --location=LOCATION_NAME \ --version=AVAILABLE_INSTANCE_VERSION
選用:如果您的執行個體適用,請新增
--enable_stackdriver_logging
、--enable_stackdriver_monitoring
和--labels
旗標。選用:您可以傳遞 CDAP 屬性,例如
enable.unrecoverable.reset
,做為--options
。
請按照下列步驟,確認升級作業是否成功:
前往 Google Cloud 控制台的 Cloud Data Fusion「Instances」(執行個體) 頁面。
按一下「查看執行個體」,即可在 Cloud Data Fusion 網頁介面中存取升級後的執行個體。
按一下選單列中的「系統管理員」。
新版本號碼會顯示在頁面頂端。
為避免在執行新版 pipeline 時發生停滯問題,請在升級後的執行個體中授予必要角色。
升級批次管道
如要升級 Cloud Data Fusion 批次管道,以便使用最新外掛程式版本,請按照下列步驟操作:
建議:備份所有管道。您可以透過下列任一方式備份管道:
如要下載 ZIP 檔案,請按照下列步驟操作:
- 如要觸發下載 ZIP 檔案,請使用下列指令備份所有管道:
echo $CDAP_ENDPOINT/v3/export/apps
- 將網址輸出內容複製到瀏覽器。
- 解壓縮下載的檔案,然後確認所有管道都已匯出。管道會依命名空間整理。
使用來源控管管理 (SCM) 備份管道,這項功能適用於 6.9 以上版本。SCM 提供 GitHub 整合功能,可用於備份管道。
請按照下列步驟升級管道:
建立變數,指向您將在下一個步驟中建立的
pipeline_upgrade.json
檔案,以儲存管道清單。export PIPELINE_LIST=PATH/pipeline_upgrade.json
將 PATH 替換為檔案路徑。
使用下列指令,為執行個體和命名空間建立所有管道的清單。結果會以
JSON
格式儲存在$PIPELINE_LIST
檔案中。您可以編輯清單,移除不需要升級的管道。curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps -o $PIPELINE_LIST
將 NAMESPACE_ID 替換為要升級的命名空間。
升級
pipeline_upgrade.json
中列出的管道。 插入要升級的管道 NAMESPACE_ID。 這項指令會顯示升級後的管道清單,以及升級狀態。curl -N -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/upgrade --data @$PIPELINE_LIST
將 NAMESPACE_ID 替換為要升級的管道命名空間 ID。
為避免管道在新版本中執行時停滯,請在升級後的執行個體中授予必要角色。
升級即時管道
系統不支援升級即時管道,但使用 Kafka 即時來源在 6.8.0 版中建立的管道除外。
如要執行其他操作,請改為:
- 停止並匯出管道。
- 升級執行個體。
- 將即時管道匯入升級後的執行個體。
升級以啟用複製功能
您可以在 6.3.0 以上版本的 Cloud Data Fusion 環境中啟用複寫功能。如果使用 6.2.3 版,請先升級至 6.3.0 版,再升級至最新版本。接著啟用複製功能。
授予升級後執行個體的角色
升級完成後,請將Cloud Data Fusion Runner 角色 (roles/datafusion.runner
) 和 Cloud Storage 管理員角色 (roles/storage.admin
) 授予專案中的 Dataproc 服務帳戶。