Google Cloud コンソールを使用してクラスタを作成する
このページでは、 Google Cloud コンソールを使用して Managed Service for Apache Spark クラスタを作成し、クラスタで基本的な Apache Spark ジョブを実行してから、クラスタ内のワーカー数を変更する方法について説明します。
始める前に
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that you have the permissions required to complete this guide.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Dataproc API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
必要なロール
このページの例を実行するには、特定の Identity and Access Management(IAM)ロールが必要です。組織のポリシーによっては、これらのロールがすでに付与されている場合があります。ロール付与を確認するには、ロールを付与する必要がありますか?をご覧ください。
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
ユーザーロール
Managed Service for Apache Spark クラスタの作成に必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
- プロジェクトに対する Dataproc 編集者 (
roles/dataproc.editor) - Compute Engine のデフォルトのサービス アカウントに対するサービス アカウント ユーザー (
roles/iam.serviceAccountUser)
サービス アカウント ロール
Compute Engine のデフォルト サービス アカウントに Managed Service for Apache Spark クラスタを作成するために必要な権限を付与するには、プロジェクトに対する次の IAM ロールを Compute Engine のデフォルト サービス アカウントに付与するよう管理者に依頼します。
-
すべて: Dataproc ワーカー (
roles/dataproc.worker)
クラスタの作成
Google Cloud コンソールで、Managed Service for Apache Spark の [クラスタ] ページに移動します。
[クラスタを作成] をクリックします。
[Dataproc クラスタの作成] ダイアログで、[Compute Engine 上のクラスタ] 行の [作成] をクリックします。
[クラスタ名] フィールドに「
example-cluster」と入力します。[リージョン] リストと [ゾーン] リストで、リージョンとゾーンを選択します。
リージョン(
us-east1やeurope-west1など)を選択して、リージョン内で、仮想マシン(VM)インスタンスや、Cloud Storage などのリソースと Managed Service for Apache Spark が使用するメタデータの保存場所などのリソースを分離します。詳細については、利用可能なリージョンとゾーンとクラスタ リージョンをご覧ください。他のすべてのオプションについては、デフォルト設定を使用します。
クラスタを作成するには、[作成] をクリックします。
新しいクラスタが [クラスタ] ページのリストに表示されます。クラスタが使用できるようになるまでのステータスは [プロビジョニング] で、その後 [実行中] に変わります。クラスタのプロビジョニングには数分かかることがあります。
Spark ジョブを送信する
円周率の値を計算する Spark ジョブを送信します。
- Managed Service for Apache Spark のナビゲーション メニューで、[ジョブ] をクリックします。
[ジョブ] ページで [ ジョブの送信] をクリックし、次の操作を行います。
- [ジョブ ID] フィールドで、デフォルト設定を使用するか、 Google Cloud プロジェクトに固有の ID を指定します。
- [クラスタ] プルダウンで [
example-cluster] を選択します。 - [ジョブタイプ] には、[Spark] を選択します。
- [メインクラスまたは JAR] フィールドに「
org.apache.spark.examples.SparkPi」と入力します。 [JAR ファイル] フィールドに「
file:///usr/lib/spark/examples/jars/spark-examples.jar」と入力します。(このサンプル jar はクラスタにプリインストールされています。カスタム ジョブの場合は、Cloud Storage パスを指定します。ジョブを送信するをご覧ください。[引数] フィールドに「
1000」と入力して、タスクの数を設定します。これによって、単位正方形で囲まれた円をモデル化した座標平面上に x、y 点が生成されます。入力引数(
1000)は、生成する x、y ペアの数を決定します。生成するペアが多いほど、推定の精度が向上します。この推定では、Managed Service for Apache Spark ワーカーノードを使用して計算が並列化されます。詳細については、モンテカルロ法を使用した円周率の推定と、GitHub の JavaSparkPi.java をご覧ください。[送信] をクリックします。
ジョブが [ジョブの詳細] ページに表示されます。ジョブのステータスは [実行中] または [開始中] で、送信後に [成功] に変わります。
出力のスクロールを防ぐには、[行の折り返し: オフ] をクリックします。出力は次のようになります。
Pi is roughly 3.1416759514167594
ジョブの詳細を表示するには、[構成] タブをクリックします。
クラスタを更新する
ワーカー インスタンスの数を変更してクラスタを更新します。
- Managed Service for Apache Spark のナビゲーション メニューで、[クラスタ] をクリックします。
- クラスタのリストで、[
example-cluster] をクリックします。 [クラスタの詳細] ページで [構成] タブをクリックします。
クラスタの設定が表示されます。
[ 編集] をクリックします。
[ワーカーノード] フィールドに「
5」と入力します。[保存] をクリックします。
クラスタが更新されました。ワーカーノードの数を削減して元の値に戻すには、同じ手順に沿って操作します。
クリーンアップ
このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、次の手順を実施します。
- クラスタを削除するには、
example-clusterの [クラスタの詳細] ページで [ 削除] をクリックします。 - クラスタの削除を確定するには、[削除] をクリックします。
次のステップ
他のツールを使用して、このクイックスタートを試す。
プロジェクトの作成時に堅牢なファイアウォール ルールを作成する方法を確認する。
Spark Scala ジョブを記述して実行する方法を学習する。