使用 gcloud CLI 建立叢集

本頁面說明如何使用 Google Cloud CLI gcloud 指令列工具,建立 Managed Service for Apache Spark 叢集、在叢集執行 Apache Spark 工作,然後修改叢集的 worker 數量。

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

事前準備

  1. 安裝 Google Cloud CLI。

  2. 設定 gcloud CLI,使用您的聯合身分。

    詳情請參閱「使用聯合身分登入 gcloud CLI」。

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

    gcloud init
  4. 建立或選取 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 專案名稱。

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

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

  7. 啟用 Dataproc API (如果尚未啟用):

    啟用 API 所需的角色

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

    gcloud services enable dataproc.googleapis.com

必要的角色

您必須具備特定 IAM 角色,才能執行本頁中的範例。視組織政策而定,這些角色可能已授予。如要查看角色授予,請參閱「是否需要授予角色?」一節。

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

使用者角色

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

服務帳戶角色

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

建立叢集

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

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.

更新叢集

執行下列指令,將叢集的 worker 數量變更為 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.

如要將 worker 節點數量減少至原始值 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
    

後續步驟