重新建立及更新叢集
您可以使用 gcloud
指令列工具或 Dataproc API,從現有叢集中複製設定、更新複製的設定,然後使用更新後的設定建立新叢集。
gcloud CLI
範例操作說明會顯示如何更新叢集設定中的圖片版本設定。您可以變更範例,更新不同的叢集設定。
- 設定變數。
export PROJECT=project-id export REGION=region export OLD_CLUSTER=old-cluster-name export NEW_CLUSTER=new-cluster-name export NEW_IMAGE_VERSION=image-version (for example, '2.2-debian12')
- 將現有 (舊版) 叢集設定匯出至 YAML 檔案。
gcloud dataproc clusters export $OLD_CLUSTER \ --project=$PROJECT \ --region=$REGION > "${OLD_CLUSTER}-config.yaml"
- 更新設定。以下範例使用
sed
更新圖片版本。sed -E "s|(^[[:blank:]]+)imageVersion: .+|\1imageVersion: ${NEW_IMAGE_VERSION}|g" "${OLD_CLUSTER}-config.yaml" | sed -E '/^[[:blank:]]+imageUri: /d' > "${NEW_CLUSTER}-config-updated.yaml"
- 使用新名稱和更新的設定建立新叢集。
gcloud dataproc clusters import $NEW_CLUSTER \ --project=$PROJECT \ --region=$REGION \ --source="${NEW_CLUSTER}-config-updated.yaml"
- 確認工作負載在新叢集中運作無誤後,請刪除現有 (舊) 叢集。重要事項:這個步驟會刪除叢集中 HDFS 和本機磁碟上儲存的所有資料。
gcloud dataproc clusters delete $OLD_CLUSTER \ --project=$PROJECT \ --region=$REGION
REST API
範例操作說明會顯示如何更新叢集名稱和叢集設定中的圖片版本設定。您可以變更範例變數,更新不同的叢集設定。
- 設定變數。
export PROJECT=project-id export REGION=region export OLD_CLUSTER=old-cluster-name export NEW_CLUSTER=new-cluster-name export NEW_IMAGE_VERSION=image-version (for example, '2.2-debian12')
- 將現有 (舊版) 叢集設定匯出為 JSON 檔案。
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://dataproc.googleapis.com/v1/projects/${PROJECT}/regions/${REGION}/clusters/${OLD_CLUSTER}?alt=json" > "${OLD_CLUSTER}-config.json"
- 更新設定。以下範例使用
jq
更新叢集名稱和映像檔版本。jq ".clusterName = \"${NEW_CLUSTER}\" | .config.softwareConfig.imageVersion=\"${NEW_IMAGE_VERSION}\" | del(.config.workerConfig.imageUri) | del(.config.masterConfig.imageUri)" "${OLD_CLUSTER}-config.json" > "${NEW_CLUSTER}-config-updated.json"
- 匯入更新的叢集設定,以便使用更新的設定建立新叢集。
curl -i -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json; charset=utf-8" -d "@${NEW_CLUSTER}-config-updated.json" "https://dataproc.googleapis.com/v1/projects/${PROJECT}/regions/${REGION}/clusters?alt=json"
- 確認工作負載在新叢集中運作無誤後,請刪除現有 (舊) 叢集。重要事項:這個步驟會刪除叢集中 HDFS 和本機磁碟上儲存的所有資料。
curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://dataproc.googleapis.com/v1/projects/${PROJECT}/regions/${REGION}/clusters/${OLD_CLUSTER}"
控制台
主控台不支援透過匯入叢集設定來重新建立叢集。