本頁說明如何升級執行個體或批次管道版本。
將 Cloud Data Fusion 執行個體和批次管道升級至最新平台和外掛程式版本,即可使用最新功能、修正錯誤並改善效能。
事前準備
- 規劃升級作業的停機時間 這項程序最多需要 1 小時。
-
In the Google Cloud console, activate Cloud Shell.
限制
建立 Cloud Data Fusion 執行個體後,即使透過升級作業,也無法變更其版本。
請勿使用 Terraform 觸發升級作業,因為 Terraform 會刪除並重新建立執行個體,而非執行就地升級。這會導致執行個體中的所有現有資料遺失。
Cloud Data Fusion 不會重新啟動因升級作業而停止的管道。
如果您要從 6.11.0 以下版本升級執行個體,升級作業的停機時間會較長,尤其是執行個體處理大量資料時。
系統不支援升級即時管道,但在 6.8.0 版中使用 Kafka 即時來源建立的管道除外。如需解決方法,請參閱「升級即時管道」。
升級 Cloud Data Fusion 執行個體
如要將 Cloud Data Fusion 執行個體升級至新的 Cloud Data Fusion 版本,請前往「Instance details」(執行個體詳細資料) 頁面:
在 Google Cloud 控制台中,前往 Cloud Data Fusion 頁面。
按一下「Instances」(執行個體) ,然後點選執行個體名稱,前往「Instance details」(執行個體詳細資料) 頁面。
接著,使用 Google Cloud 控制台或 gcloud CLI 執行升級作業:
控制台
按一下「Upgrade」,即可查看可用版本清單。
選取版本。
按一下「升級」。
確認升級作業是否成功:
重新整理「Instance details」(執行個體詳細資料) 頁面。
按一下「View instance」,即可在 Cloud Data Fusion 網頁介面中存取已升級的執行個體。
按一下選單列中的「系統管理員」。
頁面頂端會顯示新版本號碼。
如要在新版本中執行管線,請在升級後的執行個體中授予必要角色,以免管線卡住。
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」(執行個體) 頁面。
按一下「View instance」,即可在 Cloud Data Fusion 網頁介面中存取已升級的執行個體。
按一下選單列中的「系統管理」。
頁面頂端會顯示新版本號碼。
如要在新版本中執行管線,請在升級後的執行個體中授予必要角色,以免管線卡住。
升級批次處理管道
如要升級 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 服務帳戶。