カスタム マシンタイプ

Google Cloud Dataproc クラスタは、Google Compute Engine インスタンスに基づいて構築されます。インスタンスから使用できる仮想化ハードウェア リソースを定義するには、マシンタイプを利用します。Compute Engine には、事前定義されたマシンタイプカスタム マシンタイプの両方が用意されています。Cloud Dataproc クラスタでは、マスターノードにもワーカーノードにも標準タイプとカスタムタイプの両方を使用できます。

カスタム マシンタイプのユースケース

カスタム マシンタイプのドキュメントで説明されているように、カスタム マシンタイプは次のワークロードに最適です。

  • 定義済みのマシンタイプに適していないワークロード。
  • 処理能力やメモリを増強する必要はあるものの、次のマシンタイプ レベルで提供されるアップグレードの全部は必要としないワークロード。

例として、n1-standard-4 インスタンスよりも高い処理能力を必要とするものの、次の上位の n1-standard-8 インスタンスでは能力が高すぎるワークロードがあるとします。カスタム マシンタイプを使用すると、その中間にマスターノードやワーカーノードがあり、6 個の仮想 CPU と 25 GB のメモリを搭載した Cloud Dataproc クラスタを作成できます。

料金

カスタム マシンタイプの料金は、カスタムマシンで使用されているリソースによって異なります。使用するコンピューティング リソースの費用には、Dataproc 料金が追加されます。この料金は、クラスタに使用されている仮想 CPU の合計数に基づきます。

Cloud Dataproc でのカスタム マシンタイプの使用

現在、カスタム マシンタイプを使用したクラスタを作成するには、Google Cloud SDKgcloud dataproc コマンドを使用する必要があります。

カスタム マシンタイプの理解

カスタム マシンタイプを持つクラスタを作成する前に、カスタム マシンタイプを持つ VM インスタンスの作成を参照して、カスタムタイプの使用や価格などの重要な考慮事項を理解してください。

カスタム マシンタイプでは、特別な machine type 指定を使用します。たとえば、6 個の仮想 CPU と 22.5 GB のメモリを搭載したカスタム VM のカスタム マシンタイプは次のように指定します。

custom-6-23040

マシンタイプに含まれる数値は、マシン内の仮想 CPU の数(この例の場合は 6)とメモリ容量(この場合は 23040)に対応しています。メモリ容量を求めるには、ギガバイト単位のメモリ容量に 1024 を乗算します。この例では、22.5(GB)に 1024 を乗算しています。

22.5 * 1024 = 23040

CPU とメモリの組み合わせに対する制限に従った上で、上記の構文を使用して、クラスタで使用するカスタム マシンタイプを指定できます。クラスタの作成時に、マスターノードとワーカーノードの一方または両方に対してマシンタイプを設定できます。両方を設定した場合、マスターノードは、ワーカーが使用するカスタム マシンタイプとは異なるカスタム マシンタイプを使用できます。プリエンプティブ(セカンダリ)ワーカーのマシンタイプの設定は、プライマリ ワーカーの設定に従うため、別途設定することはできません(Cloud Dataproc でのプリエンプティブの動作をご覧ください)。

カスタム マシンタイプを持つ Cloud Dataproc クラスタを作成する

gcloud コマンド

次のフラグを使用して gcloud dataproc clusters create コマンドを実行し、マスターまたはワーカー カスタム マシンタイプを持つ Cloud Dataproc クラスタを作成します。
  • --master-machine-type custom-machine-type フラグを使用すると、クラスタ内のマスター VM インスタンス(HA クラスタを作成する場合はマスター インスタンス)で使用されるカスタム マシンタイプを設定できます。
  • --worker-machine-type custom-machine-type フラグを使用すると、クラスタのワーカー VM インスタンスで使用されるカスタム マシンタイプを設定できます。

:

gcloud dataproc clusters create test-cluster /
    --master-machine-type custom-6-23040 /
    --worker-machine-type custom-6-23040 /
    other args
Cloud Dataproc クラスタを起動すると、クラスタの詳細がターミナル ウィンドウに表示されます。以下は、ターミナル ウィンドウに表示されるクラスタ プロパティのサンプルの一部です。
...
properties:
  distcp:mapreduce.map.java.opts: -Xmx1638m
  distcp:mapreduce.map.memory.mb: '2048'
  distcp:mapreduce.reduce.java.opts: -Xmx4915m
  distcp:mapreduce.reduce.memory.mb: '6144'
  mapred:mapreduce.map.cpu.vcores: '1'
  mapred:mapreduce.map.java.opts: -Xmx1638m
...

REST API

カスタム マシンタイプを含むクラスタを作成するには、cluster.create API リクエストで masterConfig または workerConfig InstanceGroupConfigmachineTypeUri を設定します。

:
POST /v1/projects/my-project-id/regions/global/clusters/
{
  "projectId": "my-project-id",
  "clusterName": "test-cluster",
  "config": {
    "configBucket": "",
    "gceClusterConfig": {
      "subnetworkUri": "default",
      "zoneUri": "us-central1-a"
    },
    "masterConfig": {
      "numInstances": 1,
      "machineTypeUri": "n1-highmem-4",
      "diskConfig": {
        "bootDiskSizeGb": 500,
        "numLocalSsds": 0
      }
    },
    "workerConfig": {
      "numInstances": 2,
      "machineTypeUri": "n1-highmem-4",
      "diskConfig": {
        "bootDiskSizeGb": 500,
        "numLocalSsds": 0
      }
    }
  }
}

Console

[クラスタの作成] ページから Cloud Dataproc クラスタを作成する場合、[マスターノード] パネルまたは [ワーカーノード] パネルの [マシンタイプ] セクションで [カスタマイズ] をクリックしてから、コア数とメモリ量を入力します。コンソールのラベルとヘルプテキストは、有効なカスタム マシンタイプ値の選択に役立ちます。

次のスクリーンショットは、各ノードに 6 つの仮想 CPU と 22.5 GB のメモリを持つクラスタを作成するためのマスターノードとワーカーノードの値を示しています。
[メモリを拡張する] をクリックして、マスターノードやワーカーノードの拡張メモリの値を指定します。

CPU 拡張メモリ

Cloud Dataproc は、vCPU あたり 6.5 GB の制限を超過する拡張メモリを持つカスタム マシンタイプをサポートしています(拡張メモリの料金をご覧ください)。

拡張メモリの使用

gcloud コマンド

カスタム CPU と拡張メモリを持つクラスタを gcloud コマンドから作成するには、‑‑master-machine-type フラグや ‑‑worker-machine-type フラグに -ext 接尾辞を追加します。

次の gcloud コマンドラインのサンプルでは、各ノードに 1 つの CPU と 50 GB のメモリ(50 * 1024 = 51200)がある Cloud Dataproc クラスタを作成します。

gcloud dataproc clusters create test-cluster /
    --master-machine-type custom-1-51200-ext /
    --worker-machine-type custom-1-51200-ext /
    other args

REST API

次のサンプル JSON スニペットは、Cloud Dataproc REST API の clusters.create リクエスト内のもので、1 つの CPU と 50 GB のメモリ(50 * 1024 = 51200)を指定しています。

...
    "masterConfig": {
      "numInstances": 1,
      "machineTypeUri": "custom-1-51200-ext",
    ...
    },
    "workerConfig": {
      "numInstances": 2,
      "machineTypeUri": "custom-1-51200-ext",
     ...
...

Console

GCP Console で、Cloud Dataproc の [クラスタの作成] ページにある [マスターノード] セクションや [ワーカーノード] セクションでマシンタイプのメモリをカスタマイズする際に、[メモリを拡張する] をクリックします。

詳細情報

カスタム マシンタイプを持つ VM インスタンスの作成をご覧ください。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud Dataproc ドキュメント
ご不明な点がありましたら、Google のサポートページをご覧ください。