Managed Service for Apache Spark 클러스터 만들기
요구사항:
이름: 클러스터 이름은 소문자로 시작해야 하고 최대 51자(영문 기준)여야 합니다. 소문자, 숫자, 하이픈을 포함할 수 있으며 하이픈으로 끝나면 안 됩니다.
클러스터 리전:
us-east1또는europe-west1과 같이 클러스터의 Compute Engine 리전을 지정하여 해당 리전 내에서 VM 인스턴스 및 Cloud Storage에 저장된 클러스터 메타데이터와 같은 클러스터 리소스를 격리해야 합니다.- Compute Engine 리전에 대한 자세한 내용은 클러스터 리전을 참고하세요.
- 리전 선택에 대한 자세한 내용은 사용 가능한 리전 및 영역을 참조하세요. 또한
gcloud compute regions list명령어를 실행하여 사용 가능한 리전 목록을 표시할 수 있습니다.
연결: Managed Service for Apache Spark 클러스터에서 마스터 및 작업자 VM으로 구성된 Compute Engine 가상 머신 인스턴스에는 전체 내부 IP 네트워킹 교차 연결이 필요합니다.
defaultVPC 네트워크에서 이 연결을 제공합니다 (Managed Service for Apache Spark 클러스터 네트워크 구성 참고).머신 유형 (권장): 머신 유형을 지정하는 것은 선택사항이지만 클러스터의 마스터 및 작업자 VM에 사용할 머신 유형을 명시적으로 선택하는 것이 좋습니다. 머신 유형을 지정하지 않으면 Managed Service for Apache Spark는 리소스 가용성에 따라 머신 유형을 동적으로 선택합니다. 이러한 동적 선택으로 인해 비용과 실적이 모두 달라질 수 있습니다.
- 머신 유형 선택에 대한 자세한 내용은 지원되는 머신 유형을 참고하세요.
- 잠재적인 리소스 사용 불가능 문제를 완화하려면 허용되는 머신 유형 목록을 지정할 수 있는 가변형 VM을 사용하는 것이 좋습니다.
콘솔
브라우저의 Google Cloud 콘솔에서 Managed Service for Apache Spark 클러스터 만들기 페이지를 연 다음 Compute Engine에서 Dataproc 클러스터 만들기 페이지의 Compute Engine 행에서 클러스터의 만들기를 클릭합니다. 클러스터 설정 패널은 기본값으로 채워진 필드로 선택됩니다. 각 패널을 선택하고 기본값을 확인하거나 변경하여 클러스터를 맞춤설정할 수 있습니다.
만들기를 클릭하여 클러스터를 만듭니다. 클러스터가 프로비저닝되면 클러스터 이름이 클러스터 페이지에 표시되고 상태가 '실행 중'으로 업데이트됩니다. 클러스터 이름을 클릭하여 클러스터의 작업, 인스턴스, 구성 설정을 살펴보고 클러스터에서 실행되는 웹 인터페이스에 연결할 수 있는 클러스터 세부정보 페이지를 엽니다.
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 (예: n4-standard-4)에 machine_type_uri를 명시적으로 포함하는 것이 좋습니다. 머신 유형을 지정하지 않으면 리소스 가용성에 따라 기본 머신 유형이 동적으로 선택됩니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- 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). 생략된 경우 리소스 가용성에 따라 기본 머신 유형이 동적으로 선택됩니다.