반응형
Ⅰ. Hadoop 이란?
오픈소스 분산 컴퓨팅 프레임워크로, 대규모 데이터를 효율적으로 저장하고 처리하는 데 사용됩니다. Apache Software Foundation에서 개발했으며, 확장성과 내결함성을 특징으로 합니다. 특히, 수천 대의 서버로 구성된 클러스터 환경에서 대규모 데이터를 저장하고 병렬로 처리할 수 있도록 설계되었습니다.
Ⅱ. Hadoop의 구성 요소
구성 요소 | 설명 | 특징 |
HDFS (Hadoop Distributed File System) |
분산 파일 시스템으로 데이터를 여러 노드에 나누어 저장. 대용량 데이터 세트를 높은 처리량으로 저장 및 관리. |
데이터 복제(기본적으로 3개의 복제본 유지)로 내결함성 제공. Write Once, Read Many 방식으로 데이터 추가나 읽기에 최적화. |
YARN (Yet Another Resource Negotiator) |
클러스터의 리소스 관리 및 작업 스케줄링 담당. 여러 응용 프로그램 간에 CPU, 메모리 등의 리소스를 효율적으로 배분. |
멀티 테넌트 환경에서 다양한 애플리케이션 지원. 기존의 MapReduce뿐만 아니라 Spark와 같은 다른 프레임워크도 지원. |
MapReduce | 분산 데이터 처리 모델 및 프로그래밍 프레임워크. 데이터를 나눠서(Map 단계) 처리한 뒤 결과를 병합(Reduce 단계)하여 최종 결과를 생성. |
대량의 데이터를 병렬 처리. Fault Tolerance(장애 복구) 지원 |
Hadoop Common | Hadoop의 다른 모듈에서 사용하는 공통 유틸리티 및 라이브러리. 파일 시스템 및 운영체제 수준의 추상화를 제공. |
Ⅲ. Hadoop의 동작 원리
ⅰ. 데이터 저장
1) 데이터를 HDFS에 업로드하면 블록(기본 128MB 또는 64MB 단위)으로 나뉘어 여러 노드에 분산 저장.
2) 블록은 복제되어 다수의 노드에 저장되므로 하나의 노드가 고장 나도 데이터를 복구할 수 있음.
ⅱ. 데이터 처리
1) MapReduce 작업이 제출되면 YARN이 작업을 분할하고, 클러스터의 노드에서 병렬로 처리.
2) 각 노드에서 데이터가 로컬에 저장되어 있으므로 데이터 전송 비용이 최소화됨(데이터 이동보다 코드 이동).
Ⅳ. Hadoop의 주요 장점
장점 | 설명 |
확장성 | 1) 여러 대의 서버를 클러스터로 구성하여 처리 능력을 확장 가능. 2) 새로운 노드를 추가해도 기존 데이터 처리에 영향을 주지 않음. |
내결함성 | 1) 데이터 복제를 통해 노드 장애 시에도 데이터 손실 방지. 2) 장애가 발생한 작업은 자동으로 재시도. |
경제성 | 일반 하드웨어에서 동작하도록 설계되어 비용 절감 가능. |
대규모 데이터 처리 | 페타바이트(PB) 이상의 데이터를 효율적으로 처리. |
Ⅴ. Hadoop의 한계
한계점 | 설명 |
실시간 처리의 어려움 | 배치 처리에 최적화되어 실시간 데이터 처리에는 부적합. |
고급 분석의 제약 | MapReduce는 복잡한 데이터 처리 작업을 수행하기 어렵고 비효율적. 이를 보완하기 위해 Spark와 같은 대체 프레임워크가 등장. |
설정 및 관리 복잡성 | 클러스터 설정과 유지 관리가 복잡하며 전문 지식 필요. |
Ⅵ. Hadoop의 확장 생태계
확장 가능한 S/W 도구 | 설명 |
Hive | SQL과 유사한 언어(HiveQL)를 사용하여 대규모 데이터를 쿼리. |
HBase | 1) HDFS 위에 구축된 분산 NoSQL 데이터베이스. 2) 실시간 읽기/쓰기 작업 지원. |
Pig | 1) 대규모 데이터 분석을 위한 스크립팅 언어. 2) MapReduce를 추상화하여 간단한 코드로 복잡한 작업 수행. |
Spark | Hadoop의 한계를 보완한 메모리 기반 분산 데이터 처리 프레임워크. |
Oozie | 워크플로 및 작업 스케줄링을 지원 |
ZooKeeper | 클러스터 관리 및 동기화. |
Flume | 대량의 로그 데이터를 효율적으로 수집 및 전송. |
Sqoop | 관계형 데이터베이스와 Hadoop 간 데이터 전송. |
Ⅶ. Hadoop 활용 사례
활용 분야 | 설명 |
소셜 미디어 분석 | 대규모 소셜 네트워크 데이터를 처리하고 사용자 행동 분석. |
전자 상거래 | 사용자 구매 패턴 분석 및 추천 시스템 구축. |
금융 | 실시간 사기 탐지, 거래 데이터 분석. |
헬스케어 | 환자 기록 분석 및 질병 예측. |
정부 및 공공 서비스 | 도시 계획, 교통 데이터 분석. |
반응형
'빅데이터(Big Data)' 카테고리의 다른 글
다크 데이터(Dark Data)에 대해 알아보겠습니다. (0) | 2025.01.04 |
---|---|
데이터 마이닝(Data Mining)에 대해 알아보겠습니다. (1) | 2024.12.31 |