상세 컨텐츠

본문 제목

AWS EMR 공부하기

AWS/Processing

by 데이터 개발자 2024. 8. 30. 21:45

본문

AWS EMR 이란??

EMR (Elastic MapReduce)로 불렸으며 Hadoop, Spark 등 빅데이터 처리를 위한 플랫폼이다.

Hahoop의 yarn cluster와 같은 개념으로 이해했다.

 

 

 

AWS EMR 구성

EMR 클러스터의 컴포넌트를 알아보자. 모두 EC2 인스턴스에 구축되어 있으며 각 인스턴스는 Node라고 불린다.

Hadoop HDFS처럼 노드 개념이랑 비슷하다고 생각했다.

 

노드의 종류는 3가지가 있다.

  • Primary node : 클러스터를 관리하는 노드이다. 테스크의 상태를 관리하거나 클러스터의 heath check를 하게 된다.
  • Core node : task들을 실행하고 HDFS의 데이터를 저장하는 노드이다. 
  • Task node : 실제로 task가 동작하게 된다. HDFS에 데이터는 저장하지 않는다.

 

AWS EMR architecture

AWS EMR은 여러개의 레이어로 되어 있다.

각 레이어들을 클러스터의 기능을 제공하게 된다.

크게 4개의 레이어로 나눌 수 있다.

 

1. Storage

  • HDFS : Hadoop Distributed File System 
  • EMRFS : EMR file system. AWS EMR에서 S3에 데이터를 직접적으로 활용할 수 있게 해준다.
  • Local file system : 각 노드인 EC2 인스턴드의 로컬 불륨이다

 

2. Cluster Resource Manager

 

resouce를 관리하는 레이어이다.

클러스트의 리소스를 관리하고 잡의 스케쥴링을 관리하게 된다. 

기본적으로 EMR은 Yarn을 리소스매니저로 사용했다.

 

3. Data processing frameworks

실제 데이터를 프로세싱하는 레이어이다.

yarn 위에 다양한 프레임워크를 동작시킬 수 있지만 크게 2개가 있다.

  • Hadoop MapReduce : parallel 하게 데이터를 처리하는 애플리케이션이다. Map/Reduce 펑션을 통해 대용량의 데이터를 처리하게 된다.
  • Apache Spark : 빅데이터를 처리하는 오픈소스 프레임워크로. 메모리기반의 빅데이터 처리를 지원한다 (효율적)

 

4. Application and program

마지막으로 다양한 애플리케이션들을 지원한다.

(Hive, Pig, Spark Streaming...)

 

 

 

 

 

이 밖에 AWS EMR on EKS, AWS EMR Serverless 도 지원하게 된다.

 

EMR Serverless의 경우는 AWS Cloud를 사용해 EMR을 운영하게된다.

별도의 서버 구축이 필요가 없다. 

- https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/emr-serverless.html

 

What is Amazon EMR Serverless? - Amazon EMR

What is Amazon EMR Serverless? Amazon EMR Serverless is a deployment option for Amazon EMR that provides a serverless runtime environment. This simplifies the operation of analytics applications that use the latest open-source frameworks, such as Apache Sp

docs.aws.amazon.com

 

 

마지막으로 AWS EMR on EKS는 쿠버네티스에 EMR 환경을 구성하는 것이다.

이 부분은 조금 더 자세히 공부하고 싶어서 다음 포스팅에 작성해보려고 한다.

 

 

 

 

생각

AWS EMR 개념적으로 이해가됐는데, 실제 구축해서 테스트를 해보고 싶은 생각이 들었다.

기존에 하둡 클러스터에서 빅데이터 처리를 많이 했었는데 AWS 에서는 EMR을 사용해 Spark를 운영해야하는 것 같다.

 

'AWS > Processing' 카테고리의 다른 글

AWS EMR on EKS 공부하기  (1) 2024.09.01
AWS Athena 공부  (0) 2024.08.26
AWS Glue 공부  (1) 2024.08.25

관련글 더보기