이 문서에서는 프로덕션 환경의 Dataproc 클러스터에서 안정적이고 효율적이며 유용한 데이터 처리 작업을 실행하는 데 도움이 되는 Dataproc 권장사항을 설명합니다.
클러스터 이미지 버전 지정
Dataproc은 이미지 버전을 사용하여 운영체제, 빅데이터 구성요소, Google Cloud 커넥터를 클러스터에 배포되는 패키지로 묶습니다. 클러스터를 만들 때 이미지 버전을 지정하지 않으면 Dataproc에서 기본적으로 최신 정식 이미지 버전을 사용합니다.
프로덕션 환경에서는 다음 gcloud CLI 명령어에 표시된 대로 클러스터를 특정 major.minor
Dataproc 이미지 버전과 연결합니다.
gcloud dataproc clusters create CLUSTER_NAME \ --region=region \ --image-version=2.0
Dataproc은 major.minor
버전을 최신 하위 부 버전 버전으로 결정합니다(2.0
은 2.0.x
로 결정됨). 참고: 클러스터에 특정 하위 부 버전을 사용해야 하는 경우 이를 지정할 수 있습니다(예: --image-version=2.0.x
). 자세한 내용은 버전 관리 방식을 참조하세요.
Dataproc 미리보기 이미지 버전
새 마이너 버전의 Dataproc 이미지는 표준 마이너 이미지 버전 트랙에서 출시되기 전에 preview
버전에서 사용할 수 있습니다. 프로덕션에 표준 마이너 이미지 버전을 채택하기 전에 미리보기 이미지를 사용하여 새로운 마이너 이미지 버전에 대한 작업을 테스트하고 검증합니다.
자세한 내용은 Dataproc 버전 관리를 참조하세요.
필요한 경우 커스텀 이미지 사용
기본 Python 라이브러리, 보안 강화 또는 바이러스 보호 소프트웨어 등 클러스터에 추가할 종속 항목이 있는 경우 대상 마이너 이미지 버전 트랙의 최신 이미지에서 커스텀 이미지를 만듭니다. 이렇게 하면 커스텀 이미지를 사용하여 클러스터를 만들 때 종속 항목 요구사항을 충족할 수 있습니다. 커스텀 이미지를 다시 빌드하여 종속 항목 요구사항을 업데이트하는 경우 마이너 이미지 트랙 내에서 사용 가능한 최신 하위 마이너 이미지 버전을 사용합니다.
Dataproc 서비스에 작업 제출
gcloud CLI 또는 Google Cloud 콘솔을 사용하여 jobs.submit 호출로 작업을 Dataproc 서비스에 제출합니다. Dataproc 역할을 부여하여 작업 및 클러스터 권한을 설정합니다. 커스텀 역할을 사용하여 작업 제출 권한과 클러스터 액세스 권한을 분리합니다.
Dataproc 서비스에 작업을 제출할 때의 이점:
- 복잡한 네트워킹 설정이 필요 없음 - API에 대한 광범위한 연결
- 쉬운 IAM 권한 및 역할 관리
- 작업 상태 추적 - 결과를 복잡하게 만드는 Dataproc 작업 메타데이터가 없음
프로덕션에서 고정된 마이너 이미지 버전(예: --image-version=2.0
)의 클러스터 수준 종속 항목에만 의존하는 작업을 실행합니다. 작업이 제출되면 종속 항목을 작업과 함께 번들로 묶습니다. Spark 또는 맵리듀스에 uber jar를 제출하는 것이 이를 위한 일반적인 방법입니다.
- 예를 들어 작업 jar이
args4j
및spark-sql
에 종속되고 작업에 해당하는args4j
및spark-sql
클러스터 수준 종속 항목이 있는 경우 작업의 uber jar에args4j
를 번들로 묶습니다.
초기화 작업 위치 제어
초기화 작업을 사용하면 Dataproc 클러스터를 만들 때 스크립트를 자동으로 실행하거나 구성요소를 설치할 수 있습니다(일반적인 Dataproc 초기화 작업은 dataproc-initialization-actions GitHub 저장소 참조). 프로덕션 환경에서 클러스터 초기화 작업을 사용할 때는 공개 저장소에서 소싱하는 대신 초기화 스크립트를 Cloud Storage에 복사합니다. 이렇게 하면 다른 사용자가 수정할 수 있는 초기화 스크립트를 실행하지 않아도 됩니다.
Dataproc 출시 노트 모니터링
Dataproc에서는 새로운 하위 마이너 이미지 버전을 정기적으로 출시합니다. Dataproc 출시 노트를 확인하거나 구독하여 최신 Dataproc 이미지 버전 출시 및 기타 공지사항, 변경사항, 수정 사항을 파악하세요.
스테이징 버킷을 확인하여 오류 조사
클러스터의 스테이징 버킷에서 클러스터 및 작업 오류 메시지를 조사합니다. 일반적으로 다음 샘플 오류 메시지에서 굵게 표시된 텍스트처럼 스테이징 버킷 Cloud Storage 위치가 오류 메시지에 표시됩니다.
ERROR: (gcloud.dataproc.clusters.create) Operation ... failed: ... - Initialization action failed. Failed action ... see output in: gs://dataproc-<BUCKETID>-us-central1/google-cloud-dataproc-metainfo/CLUSTERID/<CLUSTER_ID>\dataproc-initialization-script-0_output
gcloud CLI를 사용하여 스테이징 버킷 콘텐츠를 봅니다.
샘플 출력:gcloud storage cat gs://STAGING_BUCKET
+ readonly RANGER_VERSION=1.2.0 ... Ranger admin password not set. Please use metadata flag - default-password
지원 받기
Google Cloud는 프로덕션 OSS 워크로드를 지원하고 지원 등급을 통해 비즈니스 SLA를 충족하는 데 도움이 됩니다. Google Cloud 컨설팅 서비스에서 팀의 프로덕션 배포 권장사항 안내를 제공할 수도 있습니다.
추가 정보
Google Cloud 블로그 Dataproc 권장사항 가이드 읽어보기
YouTube에서 Dataproc 대중화 보기