Dataproc 스테이징 및 임시 버킷

클러스터를 만들면 HDFS가 기본 파일 시스템으로 사용됩니다. defaultFS를 Cloud Storage 버킷으로 설정하면 이 동작을 재정의할 수 있습니다. 기본적으로 Dataproc는 프로젝트에 Cloud Storage 스테이징 및 Cloud Storage 임시 버킷을 만들거나 이전 클러스터 만들기 요청의 기존 Dataproc로 생성된 스테이징 및 임시 버킷을 다시 사용합니다.

  • 스테이징 버킷: 클러스터 작업 종속 항목, 작업 드라이버 출력, 클러스터 구성 파일을 스테이징하기 위해 사용됩니다. 또한 gcloud CLI gcloud dataproc clusters diagnose 명령어의 출력을 수신합니다.

  • 임시 버킷: Spark 및 맵리듀스 기록 파일과 같은 임시 클러스터 및 작업 데이터를 저장하기 위해 사용됩니다.

클러스터를 만들 때 스테이징 또는 임시 버킷을 지정하지 않으면 Dataproc은 클러스터가 배포된 Compute Engine 영역에 따라 클러스터의 스테이징 및 임시 버킷에 대해 Cloud Storage 위치(미국, 아시아 또는 EU)를 설정한 다음 이러한 프로젝트 수준, 위치별 버킷을 만들고 관리합니다. Dataproc에서 생성한 스테이징 및 임시 버킷은 동일한 리전의 클러스터 간에 공유됩니다.

임시 버킷은 임시 데이터를 포함하며 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.configBucketClusterConfig.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 Console을 사용하여 클러스터의 스테이징 및 임시 버킷 이름을 나열할 수 있습니다.

콘솔

  • 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.permissions777로 설정됩니다.

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 ...