Dataproc FAQ

일반

Dataproc이란?

Dataproc는 Google Cloud Platform에서 Apache Spark 및 Apache Hadoop 생태계를 실행할 수 있는 빠르고 사용하기 쉬운 저비용 완전 관리형 서비스입니다. Cloud Dataproc은 대규모 또는 소규모 클러스터를 신속하게 프로비저닝하고, 많이 사용되는 다양한 작업 유형을 지원하며, 다른 Google Cloud Platform 서비스(예: Cloud Storage 및 Cloud Logging)와 통합되므로 TCO를 절감하는 데 유용합니다.

Dataproc은 기존의 Hadoop 클러스터와 어떻게 다른가요?

Dataproc은 Spark와 Hadoop을 쉽고 빠르고 강력하게 구현할 수 있도록 지원하는 관리형 Spark/Hadoop 서비스입니다. 기존 Hadoop 배포에서는 클라우드 기반의 배포인 경우에도 사용자가 클러스터에 작업을 설치, 구성, 관리, 조정해야 합니다. 하지만 Dataproc은 사용자를 대신해 클러스터 만들기, 관리, 모니터링, 작업 조정을 처리합니다.

Dataproc을 사용하려면 어떻게 해야 하나요?

필요와 기능에 따라 다양한 방법으로 Dataproc 클러스터를 사용할 수 있습니다. 브라우저 기반 Google Cloud Console을 사용하여 Dataproc과 상호작용할 수 있습니다. 또는 Dataproc이 Google Cloud CLI와 통합되므로 Google Cloud CLI를 사용할 수 있습니다. 클러스터에 프로그래매틱 방식으로 액세스하려면 Dataproc REST API를 사용합니다. 클러스터의 마스터 또는 워커 노드에 SSH로 연결할 수도 있습니다.

Dataproc은 어떻게 작동하나요?

Dataproc은 Google Cloud Platform에서 실행되는 관리형 프레임워크이며 Apache Hadoop, Spark, Hive, Pig 등 데이터 처리를 위해 많이 사용되는 여러 인기 도구들을 결합합니다. Dataproc에는 클러스터의 수명주기, 관리, 조정을 조정하는 제어 및 통합 메커니즘 집합이 있습니다. Dataproc은 YARN 애플리케이션 관리자와 통합되어 클러스터를 더욱 쉽게 관리하고 사용할 수 있습니다.

실행할 수 있는 작업 유형은 무엇인가요?

Dataproc은 Spark, Spark SQL, PySpark, MapReduce, Hive, Pig 작업을 비롯하여 가장 많이 사용되는 다양한 작업 유형에 대해 즉시 사용 가능한 엔드투엔드 지원을 제공합니다.

Dataproc은 Spark에 어떤 클러스터 관리자를 사용하나요?

Dataproc은 YARN에서 Spark를 실행합니다.

Dataproc의 구성요소는 얼마나 자주 업데이트되나요?

Dataproc은 기본 구성요소(Hadoop, Spark, Hive, Pig)의 주요 버전이 출시되면 업데이트됩니다. 각각의 주요 Dataproc 출시 버전은 각 구성요소의 특정 버전을 지원합니다(지원되는 Dataproc 버전 참조).

Dataproc은 다른 Google Cloud Platform 제품과 통합되나요?

예, Dataproc은 기본 통합 또는 자동 통합 방식으로 Compute Engine, Cloud Storage, Bigtable, BigQuery, Logging, Cloud Monitoring과 통합됩니다. 또한 Dataproc은 gcloud CLIGoogle Cloud Console을 포함한 Cloud Platform과 상호작용하는 도구에 통합되어 있습니다.

영구 클러스터를 실행할 수 있나요?

일단 시작되면 Dataproc 클러스터는 종료될 때까지 계속 실행됩니다. 필요한 만큼 Dataproc 클러스터를 실행할 수 있습니다.

클러스터 관리

한번에 둘 이상의 클러스터를 실행할 수 있나요?

예, 프로젝트당 두 개 이상의 Dataproc 클러스터를 동시에 실행할 수 있습니다. 기본적으로 모든 프로젝트에는 Google Cloud 리소스 할당량이 적용됩니다. 손쉽게 할당량 사용을 확인하고 할당량 증가를 요청할 수 있습니다. 자세한 내용은 Dataproc 리소스 할당량을 참조하세요.

클러스터를 만들거나 폐기하려면 어떻게 해야 하나요?

클러스터는 여러 방법으로 만들고 폐기할 수 있습니다. Google Cloud Console의 Dataproc 섹션을 사용하면 브라우저에서 클러스터를 쉽게 관리할 수 있습니다. gcloud CLI를 통해 명령줄로 클러스터를 관리할 수도 있습니다. 보다 복잡한 또는 고급 사용 사례의 경우 Cloud Dataproc REST API를 사용하여 프로그래매틱 방식으로 클러스터를 관리할 수 있습니다.

클러스터를 만들 때 맞춤 설정을 적용할 수 있나요?

Dataproc은 클러스터를 만들 때 실행되는 초기화 작업을 지원합니다. 이러한 초기화 작업은 클러스터를 프로비저닝할 때 Dataproc이 실행해 설정을 맞춤설정하거나 애플리케이션을 설치하거나 그 외 방식으로 클러스터를 수정하는 스크립트나 실행 파일일 수 있습니다.

요구 사항에 맞게 클러스터 크기를 조정하려면 어떻게 해야 하나요?

클러스터 크기 결정은 수행할 작업 유형, 비용 제약 조건, 속도 요구 사항, 리소스 할당량을 비롯한 여러 요인의 영향을 받습니다. Dataproc은 다양한 머신 유형에 배포할 수 있으므로 필요할 때 필요한 리소스를 유연하게 선택할 수 있습니다.

클러스터 크기를 조정할 수 있나요?

예, 작업 처리 도중에도 클러스터 크기를 손쉽게 조정할 수 있습니다. Google Cloud Console 또는 명령줄을 통해 클러스터의 크기를 조정할 수 있습니다. 크기를 조정하면 클러스터에서 작업자의 수를 늘리거나 줄일 수 있습니다. 클러스터에 추가된 작업자는 기존 작업자와 유형 및 크기가 동일합니다. 작업자 수를 1로 줄이거나 HDFS 커패시티를 작업을 완료하는 데 필요한 양 이하로 줄여야 하는 등 특별한 경우를 제외하고는 클러스터 크기 조정이 허용되고 지원됩니다.

작업 및 워크플로 관리

클러스터에서 작업을 제출하려면 어떻게 하나요?

Dataproc 클러스터에서 작업을 제출할 수 있는 방법은 다양합니다. 가장 쉬운 방법은 Google Cloud Console에서 Dataproc 작업 제출 페이지 또는 gcloud CLI gcloud dataproc jobs submit 명령어를 사용하는 것입니다. 프로그래매틱 작업 제출은 Dataproc API 참조를 확인하세요.

한 번에 둘 이상의 작업을 실행할 수 있나요?

예, Dataproc 클러스터에서 한 번에 둘 이상의 작업을 실행할 수 있습니다. Cloud Dataproc은 클러스터에서 리소스 사용을 최적화하기 위해 리소스 관리자(YARN)와 애플리케이션 구성(예: Spark로 확장)을 활용합니다. 작업 성능은 클러스터 크기와 활성 작업의 수에 따라 확장됩니다.

클러스터에서 작업을 취소할 수 있나요?

물론입니다. 작업은 Google Cloud Console 웹 인터페이스 또는 명령줄을 통해 취소할 수 있습니다. Dataproc은 YARN 애플리케이션 취소를 사용하여 요청 시 작업을 중지합니다.

클러스터에서 작업을 자동화할 수 있나요?

작업은 여러 메커니즘을 통해 클러스터에서 실행되도록 자동화할 수 있습니다. gcloud CLI Google Cloud CLI 또는 Dataproc REST API를 사용하여 클러스터 및 작업의 관리 및 워크플로를 자동화할 수 있습니다.

개발

어떤 개발 언어가 지원되나요?

자바, Scala, Python, R 등 Spark/Hadoop 에코시스템에서 지원하는 언어를 사용할 수 있습니다.

Dataproc에 API가 있나요?

예. Dataproc에는 클러스터 및 작업과 프로그래매틱 방식으로 상호작용할 수 있는 RESTful API 집합이 있습니다.

클러스터에 SSH로 연결할 수 있나요?

예, 클러스터 내 모든 머신(마스터 또는 작업자 노드)에 SSH로 연결할 수 있습니다. 브라우저 또는 명령줄에서 SSH로 연결할 수 있습니다.

Spark/Hadoop 웹 UI에 액세스할 수 있나요?

예, Hadoop 및 Spark UI(Spark, Hadoop, YARN UI)는 클러스터 내에서 액세스할 수 있습니다. UI용 포트를 여는 것보다 SSH 연결을 통해 클러스터의 트래픽을 안전하게 전달하는 SSH 터널을 사용하는 것이 좋습니다.

클러스터에서 소프트웨어를 설치하거나 관리할 수 있나요?

예, Hadoop 클러스터 또는 서버와 마찬가지로 Dataproc 클러스터에 소프트웨어를 설치하고 관리할 수 있습니다.

기본 복제 인수는 무엇인가요?

성능 고려사항과 Dataproc 클러스터에 연결된 저장소의 높은 안정성으로 인해 기본 복제 인수는 2로 설정됩니다.

Dataproc에는 어떤 운영체제(OS)가 사용되나요?

Dataproc은 Debian 및 Ubuntu를 기반으로 합니다. 최신 이미지는 Debian 10 Buster 및 Ubuntu 18.04 LTS를 기반으로 합니다.

Hadoop 스트리밍에 대한 정보는 어디에서 확인할 수 있나요?

Apache 프로젝트 문서에서 관련 정보를 볼 수 있습니다.

gcloud dataproc 명령을 설치하려면 어떻게 해야 하나요?

gcloud CLI를 설치할 때 gcloud dataproc 명령어를 포함한 표준 gcloud 명령줄 도구가 설치됩니다.

데이터 액세스 및 가용성

클러스터에서 데이터를 가져오거나 내보내려면 어떻게 해야 하나요?

Dataproc은 Hadoop 분산 파일 시스템(HDFS)을 저장소로 활용합니다. 또한 Dataproc은 HDFS와 호환되는 Google Cloud Storage 커넥터를 자동으로 설치하므로 HDFS와 동시에 Cloud Storage를 사용할 수 있습니다. 데이터는 HDFS 또는 Cloud Storage에 대한 업로드/다운로드를 통해 클러스터를 오갈 수 있습니다.

Cloud Storage를 Dataproc과 함께 사용할 수 있나요?

예, Dataproc 클러스터는 Cloud Storage 커넥터를 자동으로 설치합니다. 기존의 HDFS에 비해 Cloud Storage를 선택하면 데이터 지속성, 신뢰성, 성능 등의 다양한 이점이 있습니다.

Cloud Storage 커넥터 지원을 받을 수 있나요?

예, Dataproc과 함께 사용하면 Cloud Storage 커넥터가 Dataproc과 동일한 수준에서 지원됩니다(지원 받기 참조). 모든 커넥터 사용자는 Stack Overflow에서 google-cloud-dataproc 태그를 사용하여 커넥터 관련 질문을 게시하고 답변을 얻을 수 있습니다.

HDFS 및 Cloud Storage의 데이터 세트에 이상적인 파일 크기는 어떻게 되나요?

성능을 향상시키려면 데이터를 더 큰 파일 크기(예: 256MB~512MB 범위)로 저장하세요.

Dataproc은 얼마나 안정적인가요?

Dataproc은 Compute Engine, Cloud Storage, Monitoring을 포함하여 신뢰할 수 있고 검증된 Google Cloud Platform 기술을 기반으로 하므로 고가용성 및 안정성을 위해 설계되었습니다. 일반적으로 사용 가능한 제품으로 Dataproc SLA를 검토할 수 있습니다.

클러스터가 종료되면 데이터는 어떻게 되나요?

Cloud Storage의 데이터는 클러스터가 종료된 후에도 유지 됩니다. 이것이 클러스터가 종료될 때 HDFS 데이터가 삭제되는 HDFS 대신 Cloud Storage를 선택해야 하는 이유 중 하나입니다(종료 전에 영구 위치로 전송되지 않는 경우).

로깅, 모니터링, 디버깅

어떤 종류의 로깅과 모니터링을 이용할 수 있나요?

기본적으로 Dataproc 클러스터는 Monitoring 및 Logging과 통합됩니다. Monitoring 및 Logging을 사용하면 Dataproc 클러스터의 상태와 성능에 대한 자세한 정보를 쉽게 얻을 수 있습니다. 애플리케이션(YARN, Spark 등)과 시스템 로그는 모두 Logging으로 전달됩니다.

Dataproc의 로그를 보려면 어떻게 해야 하나요?

여러 가지 방법으로 Dataproc의 로그를 볼 수 있습니다. Logging을 방문하여 웹 브라우저에서 집계된 클러스터 로그를 볼 수 있습니다. 또한 명령줄(SSH)을 사용하여 수동으로 로그를 보거나 애플리케이션 출력을 모니터링할 수 있습니다. 마지막으로 YARN 웹 인터페이스와 같은 Hadoop 애플리케이션 웹 UI로도 세부정보가 제공됩니다.

클러스터를 모니터링하려면 어떻게 해야 하나요?

클러스터는 Monitoring 또는 Google Cloud Console의 Cloud Dataproc 섹션을 통해 쉽게 모니터링할 수 있습니다. 또한 명령줄(SSH) 액세스나 애플리케이션(Spark, YARN 등) 웹 인터페이스를 통해서도 클러스터를 모니터링할 수 있습니다.

보안 및 액세스

데이터는 어떻게 보호되나요?

Google Cloud Platform은 풍부한 보안 모델을 사용하며, Cloud Dataproc에도 적용됩니다. Dataproc은 데이터를 보호하기 위해 SSL과 같은 인증, 승인, 암호화 메커니즘을 제공합니다. 클러스터를 만들거나 작업을 제출하는 경우 클러스터를 오가는 데이터는 사용자가 암호화할 수 있습니다.

Dataproc 클러스터에 대한 액세스를 제어하려면 어떻게 해야 하나요?

Google Cloud Platform은 Dataproc과 함께 사용할 수 있는 인증 메커니즘을 제공합니다. Dataproc 클러스터 및 작업에 대한 액세스 권한은 프로젝트 수준에서 사용자에게 부여할 수 있습니다.

청구

Dataproc은 어떻게 결제되나요?

Dataproc은 초 단위로 청구되며 클러스터의 크기와 클러스터가 작동하는 시간을 기준으로 합니다. 수수료의 클러스터 구성요소를 계산할 때 Dataproc은 클러스터의 가상 CPU(vCPU) 수에 따라 고정 수수료를 청구합니다. 이 정액 수수료는 사용된 Compute Engine 리소스의 머신 유형이나 크기에 관계없이 동일합니다.

다른 Google Cloud 리소스에 대한 비용이 청구되나요?

예. Dataproc 클러스터를 실행하면 Compute Engine 및 Cloud Storage와 같이 클러스터에서 사용한 다른 Google Cloud 리소스에 대한 요금이 부과됩니다. 각 항목은 청구서에 별도로 명시되므로 비용이 어떻게 계산되고 할당되는지 정확하게 알 수 있습니다.

결제 최소 시간 또는 최대 시간이 있나요?

Google Cloud 요금은 시간 단위가 아니라 초 단위로 계산됩니다. 현재 Compute Engine은 1분 단위로 요금이 부과됩니다. 따라서 Dataproc에서도 최소 1분 단위로 요금이 부과됩니다.

가용성

Dataproc 클러스터는 누가 만들 수 있나요?

Dataproc은 일반적으로 모든 Google Cloud Platform 고객이 사용할 수 있습니다.

Dataproc은 어떤 리전에서 사용할 수 있나요?

Dataproc은 Google Cloud Platform의 모든 리전과 영역에서 사용할 수 있습니다.