管理執行個體和管道的版本升級

本頁說明如何升級執行個體或批次管道版本。

將 Cloud Data Fusion 執行個體和批次管道升級至最新平台和外掛程式版本,即可使用最新功能、修正錯誤並改善效能。

事前準備

  • 規劃升級作業的停機時間 這項程序最多需要 1 小時。
  • In the Google Cloud console, activate Cloud Shell.

    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」(執行個體詳細資料) 頁面:

  1. 在 Google Cloud 控制台中,前往 Cloud Data Fusion 頁面。

  2. 按一下「Instances」(執行個體) ,然後點選執行個體名稱,前往「Instance details」(執行個體詳細資料) 頁面。

    前往「Instances」(執行個體)

接著,使用 Google Cloud 控制台或 gcloud CLI 執行升級作業:

控制台

  1. 按一下「Upgrade」,即可查看可用版本清單。

  2. 選取版本。

  3. 按一下「升級」

  4. 確認升級作業是否成功:

    1. 重新整理「Instance details」(執行個體詳細資料) 頁面。

    2. 按一下「View instance」,即可在 Cloud Data Fusion 網頁介面中存取已升級的執行個體。

    3. 按一下選單列中的「系統管理員」

      頁面頂端會顯示新版本號碼。

  5. 如要在新版本中執行管線,請在升級後的執行個體中授予必要角色,以免管線卡住。

gcloud

  1. 如要升級至新的 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
    
  2. 請按照下列步驟,確認升級作業是否成功:

    1. 前往 Google Cloud 控制台的 Cloud Data Fusion「Instances」(執行個體) 頁面

    2. 按一下「View instance」,即可在 Cloud Data Fusion 網頁介面中存取已升級的執行個體。

    3. 按一下選單列中的「系統管理」

      頁面頂端會顯示新版本號碼。

  3. 如要在新版本中執行管線,請在升級後的執行個體中授予必要角色,以免管線卡住。

升級批次處理管道

如要升級 Cloud Data Fusion 批次管道,以便使用最新外掛程式版本,請按照下列步驟操作:

  1. 設定環境變數

  2. 建議:備份所有管道。您可以透過下列兩種方式備份管道:

    • 請按照下列步驟下載 ZIP 檔案:

      1. 如要觸發 ZIP 檔案下載作業,請使用下列指令備份所有管道:
      echo $CDAP_ENDPOINT/v3/export/apps
      
      1. 將網址輸出內容複製到瀏覽器。
      2. 請解壓縮下載的檔案,然後確認是否已匯出所有管道。管道會依命名空間分類。
    • 使用來源控管管理 (SCM) 備份管道,此功能適用於 6.9 以上版本。SCM 提供 GitHub 整合功能,可用於備份管道。

  3. 請按照下列步驟升級管道:

    1. 建立指向 pipeline_upgrade.json 檔案的變數,您將在下一個步驟中建立此檔案,用於儲存管道清單。

      export PIPELINE_LIST=PATH/pipeline_upgrade.json
      

      PATH 替換為檔案路徑。

    2. 使用下列指令,為執行個體和命名空間建立所有管道的清單。結果會以 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 替換為您要升級的命名空間。

    3. 升級 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。

  4. 為避免管道在新版本中執行時卡住,請在升級後的執行個體中授予必要角色

升級即時管道

系統不支援升級即時管道,但在使用 Kafka 即時來源建立的 6.8.0 版管道中,則不在此限。

對於其他所有情況,請改為執行以下操作:

  1. 停止並匯出管道。
  2. 升級執行個體。
  3. 將即時管道匯入已升級的執行個體。

升級以啟用複製功能

在 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 服務帳戶。

後續步驟