이 페이지에서는 Managed Service for Apache Spark 클러스터의 가상 머신(VM)에 하이퍼디스크를 연결하는 방법을 보여줍니다. 마스터, 기본 워커, 보조 워커 노드 그룹의 디스크를 독립적으로 구성할 수 있습니다. 이러한 디스크는 부팅 디스크 및 클러스터 노드에 연결된 로컬 SSD 외에 클러스터 노드에 연결됩니다.
시작하기 전에
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that you have the permissions required to complete this guide.
-
Verify that billing is enabled for your Cloud de Confiance project.
Enable the Managed Service for Apache Spark API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
필요한 역할
이 페이지의 예시를 실행하려면 특정 IAM 역할이 필요합니다. 조직 정책에 따라 이러한 역할이 이미 부여되었을 수 있습니다. 역할 부여를 확인하려면 역할을 부여해야 하나요?를 참고하세요.
역할 부여에 대한 상세 설명은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
사용자 역할
Managed Service for Apache Spark 클러스터를 만드는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.
- 프로젝트에 대한 Dataproc 편집자 (
roles/dataproc.editor) - Compute Engine 기본 서비스 계정의 서비스 계정 사용자 (
roles/iam.serviceAccountUser)
서비스 계정 역할
Compute Engine 기본 서비스 계정에 Apache Spark용 관리 서비스를 만드는 데 필요한 권한이 있는지 확인하려면 관리자에게 프로젝트에 대한 Dataproc 작업자 (roles/dataproc.worker) IAM 역할을 Compute Engine 기본 서비스 계정에 부여해 달라고 요청하세요.
디스크 특성
연결된 디스크의 특징은 다음과 같습니다.
- 수명 주기: 연결된 디스크의 수명 주기는 연결된 VM의 수명 주기와 일치합니다. Managed Service for Apache Spark는 VM을 만들 때 디스크를 만들고 VM을 삭제할 때 디스크를 삭제합니다.
- 불변성: 클러스터가 생성된 후에는 연결된 디스크의 속성(예: 크기, IOPS, 처리량)을 업데이트할 수 없습니다.
- 마운트 및 사용: Managed Service for Apache Spark는
/mnt/N에 디스크를 마운트합니다. 여기서N는 양의 정수입니다(예:/mnt/1,/mnt/2). HDFS 및 스크래치 데이터(예: 셔플 출력)는 부팅 영구 디스크 대신 연결된 디스크를 사용합니다.
디스크 구성
디스크를 Managed Service for Apache Spark 클러스터 노드에 연결할 때 다음 디스크 구성 매개변수를 지정할 수 있습니다.
디스크 유형 - 필수: VM 인스턴스에 연결할 디스크의 유형입니다. 다음 Hyperdisk가 지원됩니다.
hyperdisk-balancedhyperdisk-extremehyperdisk-mlhyperdisk-throughput
hyperdisk balanced high availability유형 및 영구 디스크는 클러스터 노드에 연결할 수 없습니다.크기 - 선택사항: 디스크의 크기입니다. 값은 정수이며 뒤에 기가바이트는
GB, 테라바이트는TB가 와야 합니다. 예를 들어10GB는 10GB 디스크를 연결합니다. 자세한 내용은 Hyperdisk 크기 한도를 참고하세요.IOPs - 선택사항: 연결된 디스크에 프로비저닝할 IOPS를 나타냅니다. 이 매개변수는 초당 디스크 I/O 작업의 한도를 설정합니다. 자세한 내용은 기본 성능 수준을 참고하세요.
처리량 - 선택사항: 연결된 디스크에 프로비저닝할 처리량을 나타냅니다. 이 파라미터는 초당
MiB의 처리량 한도를 설정합니다. 자세한 내용은 기본 성능 수준을 참고하세요.
클러스터에 디스크 연결
gcloud CLI 또는 Dataproc API를 사용하여 Managed Service for Apache Spark 클러스터를 만들 때 디스크 구성을 지정하여 디스크를 연결할 수 있습니다.
gcloud CLI
클러스터를 만들 때 디스크를 연결하려면
gcloud dataproc clusters create명령어와 함께--master-attached-disks,--worker-attached-disks또는--secondary-worker-attached-disks플래그를 사용합니다.각 플래그는 세미콜론으로 구분된 디스크 구성 목록을 허용합니다. 각 디스크 구성은
type,size,iops,throughput의 쉼표로 구분된 키-값 쌍 목록입니다 (디스크 구성 참고).
예: 다음 명령어는 클러스터를 만들고 각 기본 워커 노드에 Hyperdisk 두 개를 연결합니다.
gcloud dataproc clusters create CLUSTER_NAME \
--region=REGION \
--worker-attached-disks='type=hyperdisk-balanced,size=100GB,iops=5000,throughput=200;type=hyperdisk-throughput,size=9000GB'
API
디스크를 연결하려면
masterConfig,workerConfig또는secondaryWorkerConfig인스턴스 그룹의diskConfig객체에attachedDiskConfigs배열을 포함합니다.clusters.createAPI 요청의 본문에 구성을 제공합니다.
예: 다음 JSON 스니펫은 두 개의 하이퍼디스크를 연결하는 attachedDiskConfigs 배열을 보여줍니다.
[
{
"type": "hyperdisk-balanced",
"diskSizeGb": 100,
"provisionedIops": 5000,
"provisionedThroughput": 200
},
{
"type": "hyperdisk-throughput",
"diskSizeGb": 9000
}
]