使用 gcloud CLI 建立叢集

本頁向您展示如何使用 Google Cloud CLI gcloud 命令列工具建立 Managed Service for Apache Spark 叢集,在叢集中執行 Apache Spark 作業,然後修改叢集中的工作進程數。

想瞭解如何執行相同或類似的工作,可以參閱「使用 API Explorer 的快速入門導覽課程」、Google Cloud 「使用 控制台建立叢集」,以及「使用用戶端程式庫建立叢集」。Google Cloud

事前準備

  1. 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自評估產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
  2. 安裝 Google Cloud CLI。

  3. 若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

  4. 執行下列指令,初始化 gcloud CLI:

    gcloud init
  5. 建立或選取 Google Cloud 專案

    選取或建立專案所需的角色

    • 選取專案:選取專案時,不需要具備特定 IAM 角色,只要您在專案中獲派角色,即可選取該專案。
    • 建立專案:如要建立專案,您需要「專案建立者」角色 (roles/resourcemanager.projectCreator),其中包含 resourcemanager.projects.create 權限。瞭解如何授予角色
    • 建立 Google Cloud 專案:

      gcloud projects create PROJECT_ID

      PROJECT_ID 替換為您要建立的 Google Cloud 專案名稱。

    • 選取您建立的 Google Cloud 專案:

      gcloud config set project PROJECT_ID

      PROJECT_ID 替換為 Google Cloud 專案名稱。

  6. 確認您具備完成本指南所需的權限

  7. 確認專案已啟用計費功能 Google Cloud

  8. 啟用 Dataproc API:

    啟用 API 時所需的角色

    如要啟用 API,您必須具備 serviceusage.services.enable 權限。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「服務使用情形管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色

    gcloud services enable dataproc.googleapis.com
  9. 安裝 Google Cloud CLI。

  10. 若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

  11. 執行下列指令,初始化 gcloud CLI:

    gcloud init
  12. 建立或選取 Google Cloud 專案

    選取或建立專案所需的角色

    • 選取專案:選取專案時,不需要具備特定 IAM 角色,只要您在專案中獲派角色,即可選取該專案。
    • 建立專案:如要建立專案,您需要「專案建立者」角色 (roles/resourcemanager.projectCreator),其中包含 resourcemanager.projects.create 權限。瞭解如何授予角色
    • 建立 Google Cloud 專案:

      gcloud projects create PROJECT_ID

      PROJECT_ID 替換為您要建立的 Google Cloud 專案名稱。

    • 選取您建立的 Google Cloud 專案:

      gcloud config set project PROJECT_ID

      PROJECT_ID 替換為 Google Cloud 專案名稱。

  13. 確認您具備完成本指南所需的權限

  14. 確認專案已啟用計費功能 Google Cloud

  15. 啟用 Dataproc API:

    啟用 API 時所需的角色

    如要啟用 API,您必須具備 serviceusage.services.enable 權限。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「服務使用情形管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色

    gcloud services enable dataproc.googleapis.com

必要的角色

如要執行本頁的範例,您必須具備特定 IAM 角色。視機構政策而定,系統可能已授予這些角色。如要查看角色授予情況,請參閱「是否需要授予角色?」一文。

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

使用者角色

如要取得建立 Managed Service for Apache Spark 叢集所需的權限,請要求管理員授予您下列 IAM 角色:

服務帳戶角色

為確保 Compute Engine 預設服務帳戶具備建立 Managed Service for Apache Spark 叢集所需的權限,請要求管理員授予專案的 Compute Engine 預設服務帳戶下列 IAM 角色:

建立叢集

如要建立名為 example-cluster 的叢集,請執行下列 gcloud Managed Service for Apache Spark clusters create 指令。

gcloud dataproc clusters create example-cluster --region=REGION

更改下列內容:

REGION:指定叢集所在的區域

提交工作

若要提交一個計算 pi 粗略值的範例 Spark 作業,請執行以下 gcloud Managed Service for Apache Spark jobs submit spark 指令:

gcloud dataproc jobs submit spark --cluster example-cluster \
    --region=REGION \
    --class org.apache.spark.examples.SparkPi \
    --jars file:///usr/lib/spark/examples/jars/spark-examples.jar -- 1000

注意:

更改下列內容:

REGION:指定叢集區域。

  • 該作業在 example-cluster 上執行。
  • class 包含 SparkPi 的主要方法,可計算 pi 應用程式的近似值。
  • 這個 JAR 檔案包含工作程式碼。注意:file:///usr/lib/spark/examples/jars/spark-examples.jar 是集群上預先安裝的範例 jar。對於自訂作業,請在 Cloud Storage 中指定您的 jar 檔案(請參閱 提交作業)。

  • 1000 是一個作業參數。這項參數會指定作業執行的工作 (疊代) 數量,以計算 pi 的值。

終端機視窗會顯示工作執行期間和最終的輸出內容:

Waiting for job output...
...
Pi is roughly 3.14118528
...
Job finished successfully.

更新叢集

如要將叢集中的工作站數量變更為 5,請執行下列指令:

gcloud dataproc clusters update example-cluster \
    --region=REGION \
    --num-workers 5

指令輸出內容會顯示叢集詳細資料:

workerConfig:
...
  instanceNames:
  -   example-cluster-w-0
  -   example-cluster-w-1
  -   example-cluster-w-2
  -   example-cluster-w-3
  -   example-cluster-w-4
  numInstances: 5
statusHistory:
...
-   detail: Add 3 workers.

如要將工作站節點數減至 2 的原始值,請執行下列指令:

gcloud dataproc clusters update example-cluster \
    --region=REGION \
    --num-workers 2

清除所用資源

為了避免產生費用 Google Cloud 若要計算此頁面所使用的資源,請依照下列步驟操作。

  1. 如要刪除 example-cluster,請執行 clusters delete 指令:
    gcloud dataproc clusters delete example-cluster \
        --region=REGION
    

後續步驟