Managed Service for Apache Spark クラスタを作成する
要件:
名前: クラスタ名は小文字で始まり、最大 51 の小文字、数字、ハイフンで構成します。末尾にハイフンは置けません。
クラスタ リージョン: クラスタの Compute Engine リージョン(
us-east1やeurope-west1など)を指定して、リージョン内の Cloud Storage に保存されている VM インスタンスやクラスタなどのクラスタ リソースを分離する必要があります。- Compute Engine リージョンの詳細については、クラスタ リージョンをご覧ください。
- リージョンの選択については、利用可能なリージョンとゾーン
をご覧ください。
gcloud compute regions listコマンドを実行して、利用可能なリージョンのリストを表示することもできます。
接続: Compute Engine 仮想マシン インスタンス (VM)は、Managed Service for Apache Spark クラスタ内にあり、マスター VM とワーカー VM で構成され、 完全な内部 IP ネットワーク相互接続が必要です。この接続は、
defaultVPC ネットワークによって提供されます( Managed Service for Apache Spark クラスタ ネットワークの構成をご覧ください)。マシンタイプ(推奨): マシンタイプの指定は省略可能ですが、クラスタ内のマスター VM とワーカー VM のマシンタイプを明示的に選択することをおすすめします。 マシンタイプを指定しない場合、Managed Service for Apache Spark はリソースの可用性に基づいてマシンタイプを動的に選択します。この動的な選択により、費用とパフォーマンスの両方にばらつきが生じる可能性があります。
- マシンタイプの選択の詳細については、サポートされているマシンタイプをご覧ください。
- リソースが使用できなくなる可能性を軽減するには、許容されるマシンタイプのリストを指定できるフレキシブル VMを使用することをおすすめします。
コンソール
ブラウザの Google Cloud コンソールで Managed Service for Apache Spark [クラスタの作成] ページを開き、 [Compute Engine で Dataproc クラスタを作成する]ページの [Compute Engine]上のクラスタ] 行の [作成]をクリックします。デフォルト値がフィールドに入力されている [クラスタの設定] パネルが選択されています。各パネルを選択し、デフォルト値を確認するか、変更してクラスタをカスタマイズします。
[作成] をクリックして、クラスタを作成します。クラスタ名が [クラスタ] ページに表示され、クラスタがプロビジョニングされると、そのステータスは [実行中] に更新されます。クラスタ名をクリックするとクラスタ詳細ページが開き、クラスタのジョブ、インスタンス、構成設定を確認して、クラスタで実行されているウェブ インターフェースに接続できます。
gcloud
コマンドラインで Managed Service for Apache Spark クラスタを作成するには、ターミナル ウィンドウまたは Cloud Shellで、 gcloud dataproc clusters create コマンドをローカルで実行します。
gcloud dataproc clusters create CLUSTER_NAME \ --region=REGION \ --master-machine-type=MASTER_MACHINE_TYPE \ --worker-machine-type=WORKER_MACHINE_TYPE
このコマンドでクラスタが作成されます。マスター マシンタイプとワーカー マシンタイプは省略可能ですが、費用とパフォーマンスの一貫性を確保するために、--master-machine-type フラグと --worker-machine-type フラグ(n4-standard-4 など)を使用して明示的に指定することをおすすめします。マシンタイプを指定しない場合、デフォルトのマシンタイプはリソースの可用性に基づいて動的に選択されます。コマンドライン フラグを使用したクラスタ設定のカスタマイズについては、
gcloud dataproc clusters create
コマンドをご覧ください。
YAML ファイルを使用してクラスタを作成する
- 次の
gcloudコマンドを実行して、既存の Managed Service for Apache Spark クラスタの構成をcluster.yamlファイルにエクスポートします。gcloud dataproc clusters export EXISTING_CLUSTER_NAME \ --region=REGION \ --destination=cluster.yaml
- YAML ファイル構成をインポートして新しいクラスタを作成します。
gcloud dataproc clusters import NEW_CLUSTER_NAME \ --region=REGION \ --source=cluster.yaml
注: エクスポートのオペレーション中に、クラスタ固有の項目(クラスタ名など)、出力専用項目、自動的に適用されたラベルはフィルタされます。これらの項目は、クラスタ作成のためにインポートした YAML ファイルでは許可されません。
Google CloudREST
このセクションでは、クラスタを作成する方法について説明します。マシンタイプの指定は省略可能ですが、費用とパフォーマンスの一貫性を確保するために、master_config と worker_config に machine_type_uri(n4-standard-4
など)を明示的に含めることをおすすめします。マシンタイプを指定しない場合、デフォルトのマシンタイプはリソースの可用性に基づいて動的に選択されます。
リクエストのデータを使用する前に、 次のように置き換えます。
- CLUSTER_NAME: クラスタ名
- PROJECT: Google Cloud プロジェクト ID
- REGION: クラスタを作成する利用可能な Compute Engine リージョン
- ZONE:クラスタを作成する選択したリージョン内のゾーン(省略可) 。
- MASTER_MACHINE_TYPE:(推奨)マスターノードのマシンタイプ(
n4-standard-4など)。 - WORKER_MACHINE_TYPE:(推奨)ワーカーノードのマシンタイプ(
n4-standard-4など)。
HTTP メソッドと URL:
POST https://dataproc.googleapis.com/v1/projects/PROJECT/regions/REGION/clusters
リクエストの本文(JSON):
{
"project_id":"PROJECT",
"cluster_name":"CLUSTER_NAME",
"config":{
"master_config":{
"num_instances":1,
"machine_type_uri":"MASTER_MACHINE_TYPE",
"image_uri":""
},
"softwareConfig": {
"imageVersion": "",
"properties": {},
"optionalComponents": []
},
"worker_config":{
"num_instances":2,
"machine_type_uri":"WORKER_MACHINE_TYPE",
"image_uri":""
},
"gce_cluster_config":{
"zone_uri":"ZONE"
}
}
}
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{
"name": "projects/PROJECT/regions/REGION/operations/b5706e31......",
"metadata": {
"@type": "type.googleapis.com/google.cloud.dataproc.v1.ClusterOperationMetadata",
"clusterName": "CLUSTER_NAME",
"clusterUuid": "5fe882b2-...",
"status": {
"state": "PENDING",
"innerState": "PENDING",
"stateStartTime": "2019-11-21T00:37:56.220Z"
},
"operationType": "CREATE",
"description": "Create cluster with 2 workers",
"warnings": [
"For PD-Standard without local SSDs, we strongly recommend provisioning 1TB ...""
]
}
}
gcloudGo
- クライアント ライブラリをインストールする。
- アプリケーションのデフォルト認証情報を設定します。
- コードを実行します。
注: マシンタイプの指定は省略可能ですが、費用とパフォーマンスの一貫性を確保するために、クラスタ構成でマスター マシンタイプとワーカー マシンタイプを明示的に設定することをおすすめします(
n4-standard-4など)。省略した場合、デフォルトのマシンタイプはリソースの可用性に基づいて動的に選択されます。
Java
- クライアント ライブラリをインストールします。
- アプリケーションのデフォルト認証情報を設定します。
- コードを実行します。
注: マシンタイプの指定は省略可能ですが、費用とパフォーマンスの一貫性を確保するために、クラスタ構成でマスター マシンタイプとワーカー マシンタイプを明示的に設定することをおすすめします(
n4-standard-4など)。省略した場合、デフォルトのマシンタイプはリソースの可用性に基づいて動的に選択されます。
Node.js
- クライアント ライブラリをインストールします。
- アプリケーションのデフォルト認証情報を設定します。
- コードを実行します。
注: マシンタイプの指定は省略可能ですが、費用とパフォーマンスの一貫性を確保するために、クラスタ構成でマスター マシンタイプとワーカー マシンタイプを明示的に設定することをおすすめします(
n4-standard-4など)。省略した場合、デフォルトのマシンタイプはリソースの可用性に基づいて動的に選択されます。
Python
- クライアント ライブラリをインストールします。
- アプリケーションのデフォルト認証情報を設定します。
- コードを実行します。
注: マシンタイプの指定は省略可能ですが、費用とパフォーマンスの一貫性を確保するために、クラスタ構成でマスター マシンタイプとワーカー マシンタイプを明示的に設定することをおすすめします(
n4-standard-4など)。省略した場合、デフォルトのマシンタイプはリソースの可用性に基づいて動的に選択されます。