클러스터 만들기
요구사항:
이름: 클러스터는 소문자로 시작해야 하며 이어서 최대 51자의 소문자, 숫자, 하이픈이 와야 하고, 하이픈으로 끝나서는 안 됩니다.
클러스터 리전:
us-east1또는europe-west1과 같이 클러스터의 Compute Engine 리전을 지정하여 해당 리전 내에서 VM 인스턴스 및 Cloud Storage에 저장된 클러스터 메타데이터와 같은 클러스터 리소스를 격리해야 합니다.- Compute Engine 리전에 대한 자세한 내용은 클러스터 리전을 참조하세요.
- 리전 선택에 대한 자세한 내용은 사용 가능한 리전 및 영역
을 참조하세요. 또한
gcloud compute regions list명령어를 실행하여 사용 가능한 리전 목록을 표시할 수 있습니다.
연결: Compute Engine 가상 머신 인스턴스 (VM)는 마스터 및 작업자 VM으로 구성된 Managed Service for Apache Spark 클러스터에서 전체 내부 IP 네트워킹 교차 연결이 필요합니다.
defaultVPC 네트워크에서 이 연결을 제공합니다 (Managed Service for Apache Spark 클러스터 네트워크 구성 참조).머신 유형 (권장): 머신 유형을 지정하는 것은 선택사항이지만 Google에서는 클러스터의 마스터 및 작업자 VM에 사용할 머신 유형을 명시적으로 선택하는 것이 좋습니다. 머신 유형을 지정하지 않으면 Managed Service for Apache Spark에서 리소스 가용성을 기반으로 머신 유형을 동적으로 선택합니다. 이러한 동적 선택으로 인해 비용과 성능이 모두 달라질 수 있습니다.
- 머신 유형 선택에 대한 자세한 내용은 지원되는 머신 유형을 참조하세요.
- 잠재적인 리소스 사용 불가 문제를 완화하려면 허용되는 머신 유형 목록을 지정할 수 있는 유연한 VM을 사용하는 것이 좋습니다.
콘솔
콘솔 클러스터 만들기 페이지를 열어 기본 클러스터 설정을 표시합니다. Google Cloud 표시된 기본 설정을 확인하거나 변경한 후 추가 구성 을 클릭하여 클러스터를 추가로 맞춤설정할 수 있습니다.
클러스터 만들기 를 클릭하여 클러스터를 만듭니다. 클러스터가 프로비저닝되면 클러스터 이름이
클러스터 페이지에 표시되고 상태가 Running으로 업데이트됩니다. 클러스터 이름을 클릭하여 클러스터의 작업, 인스턴스, 구성 설정을 검사하고 클러스터에서 실행되는 웹 인터페이스에 연결할 수 있는 클러스터 세부정보 페이지를 엽니다.
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 파일에는 이러한 필드가 허용되지 않습니다.
REST
이 섹션에서는 클러스터를 만드는 방법을 보여줍니다. 머신 유형을 지정하는 것은 선택사항이지만 일관된 비용과 성능을 보장하려면 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 ...""
]
}
}
Go
- 클라이언트 라이브러리를 설치합니다.
- 애플리케이션 기본 사용자 인증 정보를 설정합니다.
- 코드를 실행합니다.
참고: 머신 유형을 지정하는 것은 선택사항이지만 일관된 비용과 성능을 보장하려면 클러스터 구성에서 마스터 및 작업자 머신 유형을 명시적으로 설정하는 것이 좋습니다 (예:
n4-standard-4). 생략된 경우, 기본 머신 유형은 리소스 가용성을 기반으로 동적으로 선택됩니다.
Java
- 클라이언트 라이브러리를 설치합니다.
- 애플리케이션 기본 사용자 인증 정보를 설정합니다.
- 코드를 실행합니다.
참고: 머신 유형을 지정하는 것은 선택사항이지만 일관된 비용과 성능을 보장하려면 클러스터 구성에서 마스터 및 작업자 머신 유형을 명시적으로 설정하는 것이 좋습니다 (예:
n4-standard-4). 생략된 경우, 기본 머신 유형은 리소스 가용성을 기반으로 동적으로 선택됩니다.
Node.js
- 클라이언트 라이브러리를 설치합니다.
- 애플리케이션 기본 사용자 인증 정보를 설정합니다.
- 코드를 실행합니다.
참고: 머신 유형을 지정하는 것은 선택사항이지만 일관된 비용과 성능을 보장하려면 클러스터 구성에서 마스터 및 작업자 머신 유형을 명시적으로 설정하는 것이 좋습니다 (예:
n4-standard-4). 생략된 경우, 기본 머신 유형은 리소스 가용성을 기반으로 동적으로 선택됩니다.
Python
- 클라이언트 라이브러리를 설치합니다.
- 애플리케이션 기본 사용자 인증 정보를 설정합니다.
- 코드를 실행합니다.
참고: 머신 유형을 지정하는 것은 선택사항이지만 일관된 비용과 성능을 보장하려면 클러스터 구성에서 마스터 및 작업자 머신 유형을 명시적으로 설정하는 것이 좋습니다 (예:
n4-standard-4). 생략된 경우, 기본 머신 유형은 리소스 가용성을 기반으로 동적으로 선택됩니다.