Hadoop은 대용량 데이터를 여러 서버에 분산 저장하고 병렬 처리하기 위한 생태계입니다. 필기에서는 HDFS는 저장, MapReduce는 배치 처리, YARN은 자원 관리라는 역할 구분을 먼저 잡으면 선택지 대부분을 정리할 수 있습니다.
Hadoop 핵심 구성요소
| 구성요소 | 역할 | 핵심 키워드 |
|---|---|---|
| HDFS | 분산 파일 저장 | 블록·복제·고장 허용 |
| MapReduce | 대규모 배치 병렬 처리 | Map·Shuffle/Sort·Reduce |
| YARN | 클러스터 자원·작업 실행 관리 | ResourceManager·NodeManager·ApplicationMaster |
HDFS: 블록과 복제
HDFS는 큰 파일을 블록으로 나눠 여러 DataNode에 저장하고 복제본을 둬 노드 장애에 대비합니다. NameNode는 파일명·블록 위치 같은 메타데이터를 관리하고, DataNode는 실제 블록을 저장합니다. 작은 파일이 매우 많으면 NameNode 메타데이터 부담이 커질 수 있습니다.
MapReduce: 데이터 가까이에서 계산
Map 단계는 입력을 키-값 쌍으로 변환하고, Shuffle/Sort는 같은 키의 값을 모으며, Reduce는 집계 결과를 만듭니다. 대용량 배치 처리와 장애 복구에 강하지만 디스크 입출력과 단계 지연 때문에 반복 계산·저지연 분석에는 비효율적일 수 있습니다.
YARN: 저장과 계산 자원을 분리해 관리
ResourceManager는 클러스터 전체 자원을 조정하고, NodeManager는 각 노드의 컨테이너를 관리합니다. ApplicationMaster는 개별 애플리케이션의 자원 요청과 작업 실행을 조율합니다. YARN 덕분에 MapReduce 외의 처리 엔진도 같은 클러스터 자원을 사용할 수 있습니다.
자주 바뀌는 오답 선택지
- “NameNode가 실제 모든 데이터 블록을 저장한다” → 메타데이터를 관리합니다.
- “HDFS는 작은 파일의 빈번한 임의 수정에 최적” → 대용량 순차 처리에 더 적합합니다.
- “YARN은 분산 파일시스템” → 자원 관리 계층입니다.
- “MapReduce는 실시간 저지연 처리에 최적” → 기본적으로 배치 처리 모델입니다.
생태계 이름을 역할로 연결
Hive는 SQL과 유사한 질의 계층, Sqoop은 관계형 데이터베이스와 Hadoop 간 대량 전송, Flume은 로그 수집, ZooKeeper는 분산 시스템의 조정 서비스를 떠올리면 됩니다. 제품별 최신 기능보다 시험에서는 대표 역할과 저장·처리·수집·조정의 구분이 중요합니다.
다음 복습: 데이터 플랫폼과 분석 기획의 큰 흐름은 1·4과목 점수 확보 가이드에서 정리하세요.
자주 묻는 질문
HDFS·MapReduce·YARN의 역할을 한 줄로 구분하면?
HDFS는 분산 저장, MapReduce는 대규모 배치 병렬 처리, YARN은 클러스터 자원과 작업 실행 관리입니다. 저장·처리·자원 관리 순서로 연결하면 됩니다.
NameNode와 DataNode의 차이는 무엇인가요?
NameNode는 파일과 블록 위치 같은 메타데이터를 관리하고, DataNode는 실제 데이터 블록을 저장합니다. NameNode가 모든 실제 데이터 블록을 직접 저장한다는 설명은 틀립니다.
MapReduce는 실시간 분석에 적합한가요?
기본적으로 대규모 배치 처리에 적합합니다. 단계 사이의 디스크 입출력과 작업 시작 지연 때문에 반복 계산이나 매우 짧은 응답시간이 필요한 분석에는 비효율적일 수 있습니다.
당신이 좋아할 만한 콘텐츠
by Google Adsense