반응형
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 콘솔에서 실행
- AWS Console → EMR 서비스 선택
- Create cluster 클릭
- Apache Spark, Hadoop, Hive 등 사용하려는 프레임워크 선택
- EC2 인스턴스 타입 및 크기 선택
- S3 또는 HDFS 스토리지 설정
- 클러스터 시작 후 데이터 처리 진행
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 작업을 실행해 보는 걸 추천해! 🚀
반응형