このページでは、Google Cloud SDK の gcloud コマンドライン ツールを使用して、Google Cloud Dataproc クラスタを作成し、クラスタで簡単な Apache Spark ジョブを実行して、クラスタ内のワーカーの数を変更する方法について説明します。
API Explorer を使用したクイックスタートと Console を使用したクイックスタート(Google Cloud Platform Console を使用する場合)で、同じタスクを行うそれぞれの方法を確認できます。
始める前に
-
Google アカウントにログインします。
Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。
-
GCP Console のプロジェクト セレクタのページで、GCP プロジェクトを選択または作成します。
-
Google Cloud Platform プロジェクトに対して課金が有効になっていることを確認します。 詳しくは、課金を有効にする方法をご覧ください。
- Cloud Dataproc API を有効にします。
クラスタの作成
次のコマンドを実行して、デフォルトの Cloud Dataproc 設定で example-cluster
という名前のクラスタを作成します。
gcloud dataproc clusters create example-cluster ... Waiting for cluster creation operation...done. Created [... example-cluster]
--region
フラグのデフォルト値は global
です。これは特別なマルチリージョンのエンドポイントであり、ユーザー指定の Compute Engine ゾーンに対してインスタンスをデプロイできます。また、異なるリージョン(us-east1
や europe-west1
など)を指定することで、Cloud Dataproc によって利用されるリソース(VM インスタンスや Cloud Storage など)やメタデータのストレージのロケーションをリージョンごとに分離することもできます。グローバル エンドポイントとリージョン エンドポイントの違いについては、リージョン エンドポイントをご覧ください。リージョンの選択については、利用可能なリージョンとゾーンをご覧ください。また、gcloud compute regions list
コマンドを実行して、利用可能なリージョンのリストを表示することもできます。
ジョブの送信
pi のおおよその値を計算するサンプルの Spark ジョブを送信するには、次のコマンドを実行します。
gcloud dataproc jobs submit spark --cluster example-cluster \ --class org.apache.spark.examples.SparkPi \ --jars file:///usr/lib/spark/examples/jars/spark-examples.jar -- 1000
このコマンドは次の内容を指定します。
spark
ジョブをexample-cluster
クラスタで実行すること- ジョブの Pi 計算アプリケーションの main メソッドが含まれる
class
- ジョブのコードが含まれる jar ファイルの場所
- ジョブに渡すパラメータ - この場合はタスクの数(
1000
)
ジョブの実行中の出力と最終出力が端末ウィンドウに表示されます。
Waiting for job output... ... Pi is roughly 3.14118528 ... Job finished successfully.
クラスタの更新
クラスタ内のワーカーの数を変更するには、次のコマンドを実行します。
gcloud dataproc clusters update example-cluster --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 --num-workers 2
クリーンアップ
このチュートリアルで使用したリソースについて GCP アカウントに課金されないようにする手順は次のとおりです。
clusters delete
を実行し、example-cluster を削除します。gcloud dataproc clusters delete example-cluster
クラスタの削除を確認するメッセージが表示されます。「y
」と入力して削除を完了します。- また、次のコマンドを実行して、クラスタによって作成された Cloud Storage バケットを削除する必要もあります。
gsutil rm gs://bucket/subdir/**
次のステップ
- Scala ジョブを記述して実行する方法を学習する。
- Jupyter ノートブックをインストールして実行する方法を学習する。