빅데이터(Big Data)

Hadoop 에 대해 알아보겠습니다.

forward error correction Circle 2025. 1. 1. 08:48
반응형

Ⅰ. 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 활용 사례

활용 분야 설명
소셜 미디어 분석 대규모 소셜 네트워크 데이터를 처리하고 사용자 행동 분석.
전자 상거래 사용자 구매 패턴 분석 및 추천 시스템 구축.
금융 실시간 사기 탐지, 거래 데이터 분석.
헬스케어 환자 기록 분석 및 질병 예측.
정부 및 공공 서비스 도시 계획, 교통 데이터 분석.

 

반응형