클러스터를 만들면 HDFS가 기본 파일 시스템으로 사용됩니다. defaultFS를 Cloud Storage 버킷으로 설정하면 이 동작을 재정의할 수 있습니다. 기본적으로 Dataproc는 프로젝트에 Cloud Storage 스테이징 및 Cloud Storage 임시 버킷을 만들거나 이전 클러스터 만들기 요청의 기존 Dataproc로 생성된 스테이징 및 임시 버킷을 다시 사용합니다.
스테이징 버킷: 클러스터 작업 종속 항목, 작업 드라이버 출력, 클러스터 구성 파일을 스테이징하기 위해 사용됩니다. 또한 gcloud CLI gcloud dataproc clusters diagnose 명령어의 출력을 수신합니다.
임시 버킷: Spark 및 맵리듀스 기록 파일과 같은 임시 클러스터 및 작업 데이터를 저장하기 위해 사용됩니다.
클러스터를 만들 때 스테이징 또는 임시 버킷을 지정하지 않으면 Dataproc은 클러스터가 배포된 Compute Engine 영역에 따라 클러스터의 스테이징 및 임시 버킷에 대해 Cloud Storage 위치(미국, 아시아 또는 EU)를 설정한 다음 이러한 프로젝트 수준, 위치별 버킷을 만들고 관리합니다. Dataproc에서 만든 스테이징 및 임시 버킷은 동일 리전에 있는 클러스터 간에 공유되며 Cloud Storage 소프트 삭제 보관 기간이 0초로 설정된 상태로 생성됩니다.
임시 버킷에는 임시 데이터가 포함되며 TTL은 90일입니다. 여러 클러스터에 필요한 구성 데이터 및 종속 항목 파일을 포함할 수 있는 스테이징 버킷에는 TTL이 없습니다. 그러나 스테이징 버킷 폴더에 있는 '.jar' 파일 이름 확장자를 가진 파일인 종속 항목 파일에 수명 주기 규칙을 적용하여 클러스터에 더 이상 필요 없을 때 종속 항목 파일을 삭제하도록 예약할 수 있습니다.
자체 스테이징 및 임시 버킷 만들기
기본 스테이징 및 임시 버킷 생성을 사용하는 대신 Dataproc이 클러스터의 스테이징 및 임시 버킷으로 사용할 기존 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
필드를 사용하여 클러스터의 스테이징 및 임시 버킷을 지정합니다.
콘솔
Google Cloud 콘솔에서 Dataproc 클러스터 만들기 페이지를 엽니다. 클러스터 맞춤설정 패널을 선택한 후 파일 스토리지 필드를 사용하여 클러스터의 스테이징 버킷을 지정하거나 선택합니다.
참고: 현재 Google Cloud 콘솔을 사용하여 임시 버킷을 지정할 수 없습니다.
Dataproc는 클러스터에 연결된 Cloud Storage 버킷에 대해 정의된 폴더 구조를 사용합니다. 또한 Dataproc에서는 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
명령줄 도구, Dataproc API, Google Cloud 콘솔을 사용하여 클러스터의 스테이징 및 임시 버킷 이름을 나열할 수 있습니다.
콘솔
- Google Cloud 콘솔의 Dataproc 클러스터 페이지에서 클러스터의 스테이징 버킷 이름을 포함하여 클러스터 세부정보를 봅니다.
- Google Cloud 콘솔 Cloud Storage 브라우저 페이지에서 'dataproc-temp-'가 포함된 결과를 필터링합니다.
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 ...