담비의 개발블로그

Hadoop(하둡이란) 본문

개발관련이야기

Hadoop(하둡이란)

담비12 2025. 10. 27. 20:33
하둡이란

 

하둡(Hadoop)은 대용량 데이터(빅데이터)를 저장하고 분산 처리할 수 있도록 설계된 프레임워크이다. 간단히 비유하자면, 하나의 거대한 슈퍼컴퓨터로 엄청난 양의 데이터를 처리하는 대신, 여러 대의 일반 컴퓨터들을 네트워크로 연결하여(이를 '클러스터'라고 부름) 데이터를 나누어 저장하고, 작업을 병렬로 처리하는 기술이다.



◆ 하둡의 핵심 구성 요소
- HDFS (Hadoop Distributed File System): 분산 저장
대용량 파일을 여러 대의 컴퓨터(노드)에 나누어 저장하는 파일 시스템이다. 데이터를 여러 복사본으로 만들어 저장하기 때문에, 일부 컴퓨터에 문제가 생겨도 데이터가 유실되지 않는 '내결함성(Fault Tolerance)'이 높다.

- MapReduce (맵리듀스): 분산 처리
HDFS에 저장된 대용량 데이터를 여러 컴퓨터에서 동시에 병렬로 처리하는 프로그래밍 모델이다. 데이터를 처리하는 'Map' 단계와, 처리된 결과를 하나로 모으는 'Reduce' 단계로 나뉜다. (최근에는 MapReduce보다 더 빠르고 유연한 Spark와 같은 다른 처리 엔진을 YARN 위에서 사용하는 경우가 많다.)

- YARN (Yet Another Resource Negotiator): 자원 관리
클러스터(컴퓨터 묶음)의 자원(CPU, 메모리 등)을 관리하고, MapReduce나 Spark 같은 애플리케이션이 원활하게 동작할 수 있도록 자원을 스케줄링하고 할당해주는 역할을 한다.

 

하둡의 주요 특징
- 확장성 (Scalability): 데이터가 많아지면 클러스터에 컴퓨터(노드)를 쉽게 추가하여 저장 공간과 처리 능력을 늘릴 수 있다.
- 비용 효율성 (Cost-effectiveness): 고가의 특수 장비가 아닌, 일반적인 사양의 저렴한 컴퓨터(범용 하드웨어)를 여러 대 묶어서 사용할 수 있어 비용이 저렴한다.
- 내결함성 (Fault Tolerance): 데이터가 여러 곳에 복제되고 작업이 분산되므로, 특정 하드웨어에 장애가 발생해도 전체 시스템은 중단 없이 작동한다.
- 유연성 (Flexibility): 정형 데이터(예: 엑셀 표)뿐만 아니라 비정형 데이터(예: 로그 파일, 소셜 미디어 텍스트, 이미지) 등 모든 종류의 데이터를 저장하고 처리할 수 있다.