커스텀 머신 유형

Google Cloud Dataproc 클러스터는 Google Compute Engine 인스턴스에 구축되어 있습니다. 머신 유형은 인스턴스에 사용할 수 있는 가상화된 하드웨어 리소스를 정의합니다. Compute Engine은 사전 정의된 머신 유형커스텀 머신 유형을 모두 제공합니다. Cloud Dataproc 클러스터는 마스터 노드나 작업자 노드에 표준 유형과 커스텀 유형을 모두 사용할 수 있습니다.

커스텀 머신 유형의 사용 사례

커스텀 머신 유형 문서에 명시된 대로 커스텀 머신 유형은 다음 작업 부하에 적합합니다.

  • 사전 정의된 머신 유형에 적합하지 않은 작업 부하
  • 추가 처리 능력이나 메모리가 필요하지만 다음 머신 유형 수준에서 제공되는 모든 업그레이드는 필요하지 않은 작업 부하

워크로드에 n1-standard-4 인스턴스에서 제공한 것보다 더 많은 처리 능력이 필요하지만 다음 단계인 n1-standard-8 인스턴스의 용량은 너무 과하다고 가정해 보겠습니다. 커스텀 머신 유형을 사용하면 6개의 가상 CPU와 25GB의 메모리로 중간 범위에 마스터 노드 또는 작업자 노드가 있는 Cloud Dataproc 클러스터를 만들 수 있습니다.

가격

커스텀 머신 유형 가격은 커스텀 머신에 사용된 리소스에 따라 다양합니다. Dataproc 가격은 사용하는 컴퓨팅 리소스의 비용에 추가되고, 클러스터에 사용된 총 가상 CPU 수에 따라 결정됩니다.

Cloud Dataproc에서 커스텀 머신 유형 사용

현재 커스텀 머신 유형으로 클러스터를 만드는 것은 Google Cloud SDK gcloud dataproc 명령어를 통해서만 지원됩니다.

커스텀 머신 유형 이해

커스텀 머신 유형으로 클러스터를 만들기 전에 커스텀 머신 유형으로 VM 인스턴스 만들기를 검토하여 커스텀 머신 유형 사양, 가격을 포함한 중요한 고려사항을 이해해야 합니다.

커스텀 머신 유형은 특별한 machine type 사양을 사용합니다. 예를 들어 6개의 가상 CPU와 22.5GB의 메모리가 있는 커스텀 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 InstanceGroupConfig에서 machineTypeUri를 설정합니다.

:
POST /v1/projects/my-project-id/regions/is-central1/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
      }
    }
  }
}

콘솔

클러스터 만들기 페이지에서 Cloud Dataproc 클러스터를 만들 때 마스터 노드 또는 워커 노드 패널의 머신 유형 섹션에서 맞춤설정을 클릭한 다음 코어 수와 메모리 용량을 입력합니다. 콘솔 라벨과 도움말 텍스트는 유효한 커스텀 머신 유형 값을 선택할 때 도움이 됩니다.

다음 스크린샷에는 각 노드에 6개의 가상 CPU와 22.5GB의 메모리가 있는 클러스터를 만들기 위한 마스터 노드 값과 워커 노드 값이 나와 있습니다.
메모리 확장을 클릭하여 마스터 노드 또는 워커 노드의 확장 메모리 값을 제공합니다.

CPU 확장 메모리

Cloud Dataproc은 vCPU당 6.5GB 한도 이상의 확장 메모리가 있는 커스텀 머신 유형을 지원합니다(확장 메모리 가격 책정 참조).

확장 메모리 사용

gcloud 명령

gcloud 명령줄에서 확장 메모리가 있는 커스텀 CPU를 사용하여 클러스터를 만들려면 -ext 서픽스를 ‑‑master-machine-type 또는 ‑‑worker-machine-type 플래그에 추가합니다.

다음 gcloud 명령줄 샘플은 각 노드에 1개의 CPU와 50GB의 메모리(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

Cloud Dataproc REST API clusters.create 요청의 다음 샘플 JSON 스니펫은 각 노드에서 1개의 CPU와 50GB의 메모리(50 * 1024 = 51200)를 지정합니다.

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

콘솔

Cloud Console의 Cloud Dataproc 클러스터 만들기 페이지의 마스터 노드 섹션 또는 워커 노드 섹션에서 머신 유형 메모리를 맞춤설정할 때 메모리 확장을 클릭합니다.

추가 정보

커스텀 머신 유형으로 VM 인스턴스 만들기를 참조하세요.