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

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

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

事前準備

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

    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 版本,請前往「執行個體詳細資料」頁面:

  1. In the Google Cloud console, go to the Cloud Data Fusion page.

  2. Click Instances, and then click the instance's name to go to the Instance details page.

    Go to Instances

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

控制台

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

  2. 選取版本。

  3. 按一下「升級」

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

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

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

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

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

  5. 為避免在執行新版 pipeline 時發生停滯問題,請在升級後的執行個體中授予必要角色

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. 按一下「查看執行個體」,即可在 Cloud Data Fusion 網頁介面中存取升級後的執行個體。

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

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

  3. 為避免在執行新版 pipeline 時發生停滯問題,請在升級後的執行個體中授予必要角色

升級批次管道

如要升級 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 服務帳戶。

後續步驟