기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon EMR 아키텍처 및 서비스 계층
Amazon EMR 서비스 아키텍처는 여러 계층으로 구성되며, 각 계층은 클러스터에 특정 기능과 기능을 제공합니다. 이 단원에서는 계층과 각 계층의 구성 요소에 대한 개요를 제공합니다.
스토리지
스토리지 계층에는 클러스터와 함께 사용되는 다양한 파일 시스템이 포함됩니다. 다음과 같은 다양한 유형의 스토리지 옵션이 있습니다.
Hadoop 분산 파일 시스템(HDFS)
Hadoop 분산 파일 시스템(HDFS)은 Hadoop을 위한 확장 가능한 분산 파일 시스템입니다. HDFS 는 클러스터의 인스턴스에 저장하는 데이터를 배포하여 개별 인스턴스가 실패할 경우 데이터가 손실되지 않도록 여러 인스턴스에 여러 데이터 사본을 저장합니다. HDFS 는 클러스터를 종료할 때 복원되는 임시 스토리지입니다. HDFS 는 MapReduce 처리 중 중간 결과를 캐싱하거나 무작위 I/O가 중요한 워크로드에 유용합니다.
자세한 내용은 이 가이드Amazon의 인스턴스 스토리지 옵션 및 동작 EMR의 섹션을 참조하거나 Apache Hadoop 웹 사이트의 HDFS 사용 설명서를
EMR 파일 시스템(EMRFS)
EMR 파일 시스템(EMRFS)을 사용하여 Amazon은 Hadoop을 EMR 확장하여 와 같은 파일 시스템인 것처럼 Amazon S3에 저장된 데이터에 직접 액세스할 수 있는 기능을 추가합니다HDFS. HDFS 또는 Amazon S3를 클러스터의 파일 시스템으로 사용할 수 있습니다. 대부분의 경우 Amazon S3는 입력 및 출력 데이터를 저장하는 데 사용되며 중간 결과는 에 저장됩니다HDFS.
로컬 파일 시스템
로컬 파일 시스템은 로컬로 연결된 디스크를 참조합니다. Hadoop 클러스터를 생성할 때 각 노드는 EC2 인스턴스 스토어라는 사전 구성된 디스크 스토리지 블록과 함께 제공되는 Amazon 인스턴스에서 생성됩니다. 인스턴스 스토어 볼륨의 데이터는 Amazon EC2 인스턴스의 수명 주기 동안에만 유지됩니다.
클러스터 리소스 관리
리소스 관리 계층은 클러스터 리소스 관리와 데이터 처리 작업의 일정 계획을 담당합니다.
기본적으로 Amazon은 Apache Hadoop 2.0에 도입된 구성 요소인 YARN (아직 다른 리소스 협상자)를 EMR 사용하여 여러 데이터 처리 프레임워크에 대한 클러스터 리소스를 중앙에서 관리합니다. 하지만 Amazon에서 제공되는 다른 프레임워크 및 애플리케이션은 리소스 관리자YARN로 를 사용하지 EMR 않습니다. EMR 또한 Amazon에는 각 노드에 YARN 구성 요소를 관리하고 클러스터를 정상 상태로 유지하며 Amazon 와 통신하는 에이전트가 있습니다EMR.
스팟 인스턴스는 작업 노드를 실행하는 데 자주 사용되므로 AmazonEMR에는 스팟 인스턴스에서 실행되는 작업 노드가 종료될 때 실행 중인 작업이 실패하지 않도록 YARN 작업 예약에 대한 기본 기능이 있습니다. AmazonEMR은 애플리케이션 마스터 프로세스가 코어 노드에서만 실행되도록 허용하여 이 작업을 수행합니다. 애플리케이션 마스터 프로세스는 실행 중인 작업을 제어하며, 작업 수명 동안 유지되어야 합니다.
Amazon EMR 릴리스 5.19.0 이상에서는 내장된 YARN 노드 레이블yarn-site
및 capacity-scheduler
구성 분류의 속성은 기본적으로 YARN 용량 스케줄러와 공정 스케줄러가 노드 레이블을 활용하도록 구성됩니다. Amazon은 코어 노드에 CORE
레이블을 EMR 자동으로 지정하고 애플리케이션 마스터가 CORE 레이블이 있는 노드에서만 예약되도록 속성을 설정합니다. 얀-사이트 및 용량-스케줄러 구성 분류 또는 관련 XML 파일에서 관련 속성을 수동으로 수정하면 이 기능이 중단되거나 이 기능이 수정될 수 있습니다.
데이터 처리 프레임워크
데이터 처리 프레임워크 계층은 데이터를 처리하고 분석하는 데 사용되는 엔진입니다. 에서 실행YARN되거나 자체 리소스 관리가 있는 많은 프레임워크가 있습니다. 배치, 대화형, 인 메모리, 스트리밍 등과 같은 다양한 종류의 처리 필요에 맞게 다른 프레임워크를 사용할 수 있습니다. 선택하는 프레임워크는 각 사용 사례에 다릅니다. 이 선택은 처리할 데이터와 상호 작용하는 데 사용되는 계층인 애플리케이션 계층에서 사용 가능한 언어와 인터페이스에 영향을 미칩니다. Amazon에서 사용할 수 있는 기본 처리 프레임워크는 Hadoop MapReduce 및 SparkEMR입니다.
Hadoop MapReduce
Hadoop MapReduce 은 분산 컴퓨팅을 위한 오픈 소스 프로그래밍 모델입니다. 이 모델은 사용자가 Map 및 Reduce 함수를 제공하는 동안 모든 로직을 처리하여 병렬 분산 애플리케이션 쓰기 프로세스를 간소화합니다. Map 함수는 데이터를 중간 결과라고 하는 키/값 페어 세트에 매핑합니다. Reduce 함수는 중간 결과를 조합하고, 추가 알고리즘을 적용해 최종 결과를 산출합니다. Hive와 같이 에 사용할 수 있는 여러 프레임워크가 있으며 MapReduce, 이 프레임워크는 맵 및 축소 프로그램을 자동으로 생성합니다.
자세한 내용은 Apache Hadoop Wiki 웹 사이트에서 How map and reduce operations are actually carried out
Apache Spark
Spark는 빅 데이터 워크로드를 처리하기 위한 클러스터 프레임워크 및 프로그래밍 모델입니다. Hadoop 와 마찬가지로 MapReduceSpark는 오픈 소스 분산 처리 시스템이지만 실행 계획에는 지시된 비순환 그래프를 사용하고 데이터 세트에는 인메모리 캐싱을 사용합니다. Amazon 에서 Spark를 실행할 때 EMRFS를 사용하여 Amazon S3의 데이터에 직접 액세스할 EMR수 있습니다. Spark는 Spark 와 같은 여러 대화형 쿼리 모듈을 지원합니다SQL.
자세한 내용은 Amazon 릴리스 가이드의 Amazon EMR 클러스터에서 Apache Spark를 참조하세요. EMR
애플리케이션 및 프로그램
AmazonEMR은 Hive, Pig 및 Spark Streaming 라이브러리와 같은 많은 애플리케이션을 지원하여 더 높은 수준의 언어를 사용하여 처리 워크로드 생성, 기계 학습 알고리즘 활용, 스트림 처리 애플리케이션 생성, 데이터 웨어하우스 구축과 같은 기능을 제공합니다. 또한 Amazon은 를 사용하는 대신 자체 클러스터 관리 기능이 있는 오픈 소스 프로젝트EMR도 지원합니다YARN.
다양한 라이브러리 및 언어를 사용하여 Amazon 에서 실행하는 애플리케이션과 상호 작용합니다EMR. 예를 들어 Java, Hive 또는 Pig를 MapReduce Spark Streaming과 함께 사용하거나 Spark SQL, MLlib, GraphX를 Spark와 함께 사용할 수 있습니다.
자세한 내용은 Amazon EMR 릴리스 가이드 섹션을 참조하세요.