クイックスタート: gcloud コマンドライン ツールの使用

このページでは、Google Cloud SDK の gcloud コマンドライン ツールを使用して、Google Cloud Dataproc クラスタを作成し、クラスタで簡単な Apache Spark ジョブを実行して、クラスタ内のワーカーの数を変更する方法について説明します。

API Explorer を使用したクイックスタートConsole を使用したクイックスタート(Google Cloud Console を使用する場合)、Google Cloud クライアント ライブラリを使用したクイックスタート(クライアント ライブラリを使用する場合)で、同じまたは類似したタスクを行うそれぞれの方法を確認できます。

準備

  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. Cloud Console のプロジェクト セレクタページで、Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタのページに移動

  3. Google Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  4. Dataproc API を有効にします。

    API を有効にする

クラスタの作成

次のコマンドを実行して、example-cluster という名前のクラスタを作成します。 リージョンを選択する方法については、利用可能なリージョンとゾーンをご覧ください(gcloud compute regions list コマンドを実行して、使用可能なリージョンのリストを表示することもできます)。また、global エンドポイントとリージョン エンドポイントの違いについては、リージョン エンドポイントをご覧ください。

gcloud dataproc clusters create example-cluster --region=region
...
Waiting for cluster creation operation...done.
Created [... example-cluster]

ジョブの送信

pi のおおよその値を計算するサンプルの 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

このコマンドは次の内容を指定します。

  • 指定したリージョンの example-cluster クラスタで spark ジョブを実行すること
  • ジョブの pi 計算アプリケーションの主なメソッドが含まれる class
  • ジョブのコードが含まれる jar ファイルの場所
  • ジョブに渡すパラメータ - この場合はタスクの数(1000

ジョブの実行中の出力と最終出力がターミナル ウィンドウに表示されます。

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

クラスタの更新

クラスタ内のワーカーの数を変更するには、次のコマンドを実行します。

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.

同じコマンドを使用して、ワーカーノードの数を元の値に減らすことができます。

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

クリーンアップ

このクイックスタートで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。

  1. clusters delete を実行し、クラスタ例を削除します。
    gcloud dataproc clusters delete example-cluster \
      --region=region
    クラスタの削除を確認するメッセージが表示されます。「y」と入力して、削除を完了します。
  2. また、次のコマンドを実行して、クラスタによって作成された Cloud Storage バケットを削除する必要もあります。
    gsutil rm gs://bucket/subdir/**

次のステップ