特定の期間に特定のリージョンでユーザー指定の VM が使用できない(在庫切れの)場合の影響を軽減するには、Dataproc でクラスタの作成を許可するプライマリ ワーカーの最小数を指定することで、partial cluster
の作成をリクエストできます。
標準クラスタ | 部分クラスタ |
---|---|
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 を使用して、Dataproc の部分クラスタを作成できます。
gcloud
コマンドラインで Dataproc の部分クラスタを作成するには、次の 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 部分クラスタを作成するには、clusters.create リクエストの一部として workerConfig.minNumInstances
フィールドにプライマリ ワーカーの最小数を指定します。
プロビジョニングされたワーカーの数を表示する
クラスタを作成した後、次の gcloud CLI コマンドを実行して、クラスタにプロビジョニングされているワーカー(セカンダリ ワーカーを含む)の数を一覧表示できます。
gcloud dataproc clusters list \ --project=PROJECT \ --region=REGION \ --filter=clusterName=CLUSTER_NAME