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

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

將 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. 在 Google Cloud 控制台中,前往 Cloud Data Fusion 頁面。

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

    前往「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 服務帳戶。

後續步驟