카테고리 없음

AWS EMR Cluster란?

idea9329 2025. 3. 12. 10:29
반응형

 

AWS EMR (Elastic MapReduce) 클러스터는 대규모 데이터 처리 및 분석을 위한 분산 컴퓨팅 클러스터를 AWS에서 자동으로 구성, 관리해 주는 서비스야. Apache Spark, Hadoop, Hive, Presto 등 다양한 빅데이터 프레임워크를 실행할 수 있도록 지원해.


AWS EMR Cluster의 주요 개념

1️⃣ 클러스터(Cluster)

  • EMR 클러스터는 여러 개의 EC2 인스턴스로 구성되며, 데이터 분석 및 처리를 수행하는 환경이야.
  • 클러스터는 여러 개의 노드(Node) 로 구성됨.

2️⃣ 노드 유형 (Node Types)

AWS EMR 클러스터는 3가지 유형의 노드로 구성돼.

노드 유형역할

Master Node 클러스터를 관리하고 작업(Job) 할당
Core Node 데이터 처리 및 HDFS 저장
Task Node 추가적인 작업을 수행 (선택 사항)

👉 Master 노드가 죽으면 클러스터가 다운됨, 따라서 Multi-Master 설정이 필요할 수도 있어.

3️⃣ 워크로드 실행 방식

EMR 클러스터에서 실행할 수 있는 대표적인 워크로드는 다음과 같아:

  • Apache Spark: 실시간 데이터 처리 및 머신러닝 작업
  • Hadoop (MapReduce): 대량 데이터 배치 처리
  • Hive & Presto: SQL 기반 데이터 쿼리
  • Flink: 실시간 스트리밍 분석

AWS EMR Cluster를 사용하는 이유

 자동 확장(Auto Scaling)

  • 데이터 양과 작업량에 따라 자동으로 클러스터 크기를 조절 가능

 비용 효율적(Pay-as-you-go)

  • 온프레미스에서 직접 Hadoop 클러스터를 운영하는 것보다 저렴하게 관리 가능

 빠른 배포 및 운영 편의성

  • 몇 분 만에 클러스터를 배포할 수 있으며, AWS에서 유지 관리됨

 AWS 서비스와 연동

  • S3, Glue, Lambda, Redshift 등과 쉽게 통합 가능

AWS EMR Cluster 아키텍처 예시

+-------------------------------+
|          AWS EMR Cluster      |
+-------------------------------+
|     Master Node               |
|   (Job Tracker, Name Node)    |
+--------------------------------+
|  Core Node 1    |  Core Node 2 |  
|  (DataNode)     |  (DataNode)  |
+--------------------------------+
|  Task Node 1    |  Task Node 2 |
|  (Optional)     |  (Optional)  |
+--------------------------------+
  • Master Node: 클러스터를 관리, 작업 분배
  • Core Node: 실제 데이터 저장 및 처리 수행
  • Task Node: 추가적인 연산 작업 수행

EMR 클러스터 실행 방법

1️⃣ AWS 콘솔에서 실행

  1. AWS Console → EMR 서비스 선택
  2. Create cluster 클릭
  3. Apache Spark, Hadoop, Hive 등 사용하려는 프레임워크 선택
  4. EC2 인스턴스 타입 및 크기 선택
  5. S3 또는 HDFS 스토리지 설정
  6. 클러스터 시작 후 데이터 처리 진행

2️⃣ AWS CLI를 사용한 실행

aws emr create-cluster \
    --name "MyEMRCluster" \
    --release-label emr-6.9.0 \
    --applications Name=Hadoop Name=Spark \
    --instance-type m5.xlarge \
    --instance-count 3 \
    --use-default-roles
  • --release-label emr-6.9.0: EMR 버전 선택
  • --applications: 사용할 애플리케이션 (Hadoop, Spark 등)
  • --instance-type: EC2 인스턴스 유형
  • --instance-count: 클러스터 노드 개수

실제 활용 사례

💡 빅데이터 분석 → 로그 데이터 분석 (Apache Spark 활용)
💡 ETL (Extract, Transform, Load) → 데이터 처리 후 Redshift로 저장
💡 ML/AI 모델 훈련 → Spark ML을 사용하여 머신러닝 모델 훈련
💡 데이터 웨어하우스와 연동 → AWS Glue, S3, Redshift와 통합 가능


정리

기능설명

EMR 클러스터 빅데이터 처리를 위한 AWS 서비스
노드 종류 Master, Core, Task
지원 프레임워크 Spark, Hadoop, Hive, Presto 등
사용 이유 비용 절감, 자동 확장, AWS 통합
실행 방법 AWS 콘솔, AWS CLI

🔥 EMR은 대량 데이터 처리를 쉽게 자동화할 수 있는 AWS 서비스야.
만약 실제로 적용해 보고 싶다면, 클러스터를 만들고 간단한 Spark 작업을 실행해 보는 걸 추천해! 🚀

반응형