特定の期間に特定の
リージョンでユーザー指定の VM が使用できない(在庫切れ)場合の影響を軽減するには、
Managed Service for Apache Spark でクラスタの作成を許可するプライマリ ワーカーの
最小数 を指定することで、partial cluster の作成をリクエストできます。
| Standard クラスタ | 部分クラスタ |
|---|---|
| 1 つ以上のプライマリ ワーカーを作成して初期化することができない場合、クラスタの作成は失敗します。作成されたワーカーは、ユーザーが削除するまで実行され続け、料金が発生します。 | 指定された最小数のワーカーを作成できる場合、クラスタが作成されます。失敗した(初期化が未完了の)ワーカーは削除され、料金は発生しません。指定された最小数のワーカーを作成して初期化できない場合、クラスタは作成されません。作成されたワーカーは、デバッグを可能にするために削除されません。 |
| クラスタの作成時間が最適化されます。 | すべてのノードがプロビジョニング ステータスを報告する必要があるため、クラスタの作成時間が長くなることがあります。 |
| 単一ノードクラスタを作成に利用できます。 | 単一ノードクラスタを作成に利用できません。 |
自動スケーリング
部分的なクラスタ作成で自動スケーリングを使用して、ターゲットとする(完全な)数のプライマリ ワーカーが作成されるようにします。ワークロードで必要な場合、自動スケーリングはバックグラウンドで失敗したワーカーを取得しようとします。
次の例は、プライマリ ワーカー インスタンスの合計数がターゲット サイズの 10 に達するまで再試行する自動スケーリング ポリシーです。ポリシーの minInstances と maxInstances が、クラスタの作成時に指定されたプライマリ ワーカーの最小数と合計数と一致します(部分的なクラスタを作成するをご覧ください)。scaleDownFactor を 0 に設定すると、クラスタが 10 から 8 にスケールダウンされるのを防ぎ、ワーカー数を上限の 10 ワーカーに維持できます。
workerConfig:
minInstances: 8
maxInstances: 10
basicAlgorithm:
cooldownPeriod: 2m
yarnConfig:
scaleUpFactor: 1
scaleDownFactor: 0
gracefulDecommissionTimeout: 1h
部分的なクラスタを作成する
Google Cloud CLI または Dataproc API を使用して、Managed Service for Apache Spark 部分クラスタを作成できます。
gcloud
コマンドラインで Managed Service for Apache Spark の部分クラスタを作成するには、次の
gcloud dataproc clusters create
コマンドをターミナル ウィンドウまたは
Cloud Shellでローカルに実行します。
gcloud dataproc clusters create CLUSTER_NAME \ --project=PROJECT \ --region=REGION \ --num-workers=NUM_WORKERS \ --min-num-workers=MIN_NUM_WORKERS \ other args ...
次のように置き換えます。
- CLUSTER_NAME: クラスタ名は小文字で始まり、最大 51 の小文字、数字、ハイフンで構成します。末尾にハイフンは置けません。
- PROJECT: ジョブクラスタに関連付けられているプロジェクトを指定します。
- REGION: ジョブクラスタが配置される Compute Engine リージョンを指定します。
- NUM_WORKERS: クラスタ内に作成するプライマリ ワーカーの合計数(利用可能な場合)。
- MIN_NUM_WORKERS: 指定された合計数(
NUM_WORKERS)のワーカーを作成できない場合に作成するプライマリ ワーカーの最小数。この最小数のプライマリ ワーカーを作成できない場合、クラスタの作成は失敗します(作成されるワーカーは、デバッグを可能にするために削除されません)。このフラグを省略すると、プライマリ ワーカーの合計数(NUM_WORKERS)での標準クラスタの作成が試行されます。
REST
Dataproc 部分クラスタを作成するには、
workerConfig.minNumInstances
フィールドにプライマリ ワーカーの最小数をclusters.create リクエストの一部として指定します。
プロビジョニングされたワーカーの数を表示する
クラスタを作成したら、次の gcloud CLI コマンドを実行して、クラスタにプロビジョニングされたワーカーの数(セカンダリ ワーカーを含む)を一覧表示できます。
gcloud dataproc clusters list \ --project=PROJECT \ --region=REGION \ --filter=clusterName=CLUSTER_NAME