클러스터를 만들면 HDFS가 기본 파일 시스템으로 사용됩니다. defaultFS를 Cloud Storage 버킷으로 설정하면 이 동작을 재정의할 수 있습니다. 기본적으로 Managed Service for Apache Spark는 프로젝트에 Cloud Storage 스테이징 및 Cloud Storage 임시 버킷을 만들거나 이전 클러스터 만들기 요청의 기존 Managed Service for Apache Spark로 생성된 스테이징 및 임시 버킷을 다시 사용합니다.
스테이징 버킷: 클러스터 작업 종속 항목, 작업 드라이버 출력, 클러스터 구성 파일을 스테이징하기 위해 사용됩니다. 또한 스냅샷 진단 데이터 수집의 출력을 수신합니다.
임시 버킷: Spark 및 맵리듀스 기록 파일과 같은 임시 클러스터 및 작업 데이터를 저장하기 위해 사용됩니다. 클러스터 수명 주기 중에 수집된 체크포인트 진단 데이터 도 저장합니다.
클러스터를 만들 때 스테이징 또는 임시 버킷을 지정하지 않으면 Managed Service for Apache Spark는 클러스터가 배포된 Compute Engine 영역에 따라 클러스터의 스테이징 및 임시 버킷에 대해 Cloud Storage 위치(미국, 아시아, 또는 EU)를 설정한 다음 이러한 프로젝트 수준, 위치별 버킷을 만들고 관리합니다. Managed Service for Apache Spark에서 만든 스테이징 및 임시 버킷은 동일 리전에 있는 클러스터 간에 공유되며 Cloud Storage 소프트 삭제 보관 기간이 0초로 설정된 상태로 생성됩니다. 자체 스테이징 및 임시 버킷을 지정하는 경우 소프트 삭제된 객체로 인해 발생하는 스토리지 요금을 줄이기 위해 소프트 삭제 보관을 조정하는 것이 좋습니다.
임시 버킷에는 임시 데이터가 포함되며 TTL은 90일입니다. 여러 클러스터에 필요한 구성 데이터 및 종속 항목 파일을 포함할 수 있는 스테이징 버킷에는 TTL이 없습니다. 그러나 스테이징 버킷 폴더에 있는 '.jar' 파일 이름 확장자를 가진 파일인 종속 항목 파일에 수명 주기 규칙을 적용하여 클러스터에 더 이상 필요 없을 때 종속 항목 파일을 삭제하도록 예약할 수 있습니다.
자체 스테이징 및 임시 버킷 만들기
기본 스테이징 및 임시 버킷 생성을 사용하는 대신 Managed Service for Apache Spark가 클러스터의 스테이징 및 임시 버킷으로 사용할 기존 Cloud Storage 버킷을 지정할 수 있습니다.
gcloud 명령어
터미널 창 또는 Cloud Shell에서 --bucket 또는 --temp-bucket 플래그를 사용하여 gcloud dataproc clusters create 명령어를 실행하여 클러스터의 스테이징 또는 임시 버킷을 지정합니다.
gcloud dataproc clusters create cluster-name \ --region=region \ --bucket=bucket-name \ --temp-bucket=bucket-name \ other args ...
REST API
clusters.create 요청에서 ClusterConfig.configBucket 및 ClusterConfig.tempBucket 필드를 사용하여 클러스터의 스테이징 및 임시 버킷을 지정합니다.
콘솔
콘솔에서 Managed Service for Apache Spark 클러스터 만들기 페이지를 엽니다. Google Cloud 클러스터 맞춤설정 패널을 선택한 후 파일 스토리지 필드를 사용하여 클러스터의 스테이징 버킷을 지정하거나 선택합니다.
참고: 현재 Google Cloud 콘솔 을 사용한 임시 버킷 지정은 지원되지 않습니다.
Managed Service for Apache Spark는 클러스터에 연결된 Cloud Storage 버킷에 대해 정의된 폴더 구조를 사용합니다. 또한 Managed Service for Apache Spark에서는 Cloud Storage 버킷에 클러스터를 한 개 넘게 연결할 수 있습니다. Cloud Storage에 작업 드라이버 출력을 저장하는 데 사용되는 폴더 구조는 다음과 같습니다.
cloud-storage-bucket-name
- google-cloud-dataproc-metainfo
- list of cluster IDs
- list of job IDs
- list of output logs for a job
gcloud 명령줄 도구, Managed Service for Apache Spark API 또는
Google Cloud 콘솔을 사용하여 클러스터의 스테이징 및 임시 버킷 이름을 나열할 수 있습니다.
콘솔
- 콘솔의 Google Cloud Managed Service for Apache Spark 클러스터 페이지에서 클러스터의 스테이징 버킷 이름을 포함하여 클러스터 세부정보를 확인합니다.
- 콘솔 Cloud Storage 브라우저 페이지에서 'dataproc-temp-'가 포함된 결과를 필터링합니다. Google Cloud
gcloud 명령어
터미널 창 또는 Cloud Shell에서 로컬로 gcloud dataproc clusters describe 명령어를 실행합니다.
클러스터와 연결된 스테이징 및 임시 버킷이 출력에 나열됩니다.
gcloud dataproc clusters describe cluster-name \
--region=region \
...
clusterName: cluster-name
clusterUuid: daa40b3f-5ff5-4e89-9bf1-bcbfec ...
config:
configBucket: dataproc-...
...
tempBucket: dataproc-temp...
REST API
clusters.get을 호출하여 클러스터의 스테이징 및 임시 버킷의 이름을 포함하여 클러스터 세부정보를 나열합니다.
{
"projectId": "vigilant-sunup-163401",
"clusterName": "cluster-name",
"config": {
"configBucket": "dataproc-...",
...
"tempBucket": "dataproc-temp-...",
}
defaultFS
core:fs.defaultFS를 Cloud Storage(gs://defaultFS-bucket-name)의 버킷 위치로 설정하여 Cloud Storage를 기본 파일 시스템으로 설정할 수 있습니다. 이렇게 하면 모든 파일에 대해 Cloud Storage 커넥터에 의해 반환되는 보고된 권한인 core:fs.gs.reported.permissions가 777로 설정됩니다.
Cloud Storage가 기본 파일 시스템으로 설정되지 않은 경우 HDFS가 사용되며, core:fs.gs.reported.permissions 속성이 기본값 700을 반환합니다.
gcloud dataproc clusters create cluster-name \ --properties=core:fs.defaultFS=gs://defaultFS-bucket-name \ --region=region \ --bucket=staging-bucket-name \ --temp-bucket=temp-bucket-name \ other args ...