Blog logo콜로리 블로그
개발 > 데이터
6달 전

빅데이터의 보금자리 '하둡(Hadoop)' 기본 정리

Post thumbnailImage

생성형 AI가 대세인 요즘 시대에 맞춰 점점 더 빅데이터 처리 기술의 중요성이 높아지고 있다.

데이터를 빠르게 수집하고 안정적으로 저장 및 관리하며 꺼내 쓸 수 있어야한다.


하둡(Haddop)'High-Availability Distributed Object-Oriented Platform' 를 의미하며,

아파치 재단 관리하고 있는 오픈소스 프레임워크이다.



하둡은 자바로 만들어졌으며 파일을 분산처리하여 저장해주는 분산 확장 파일관리시스템이다.


작업자 노드는 하둡 클러스터 내 대부분의 가상 머신으로 구성되어 데이터를 저장하고 연산을 수행하는 작업을 담당합니다. 각각의 작업자 노드는 DataNode와 TaskTracker라는 서비스를 실행하는데, 이는 마스터 노드에서 지침을 받는 데 쓰입니다.



하둡 클러스터에는 '마스터 노드' 와 '워커 노드' 라는 역할로 나뉘어지며,

워커 노드에서 데이터 노드와 태스크 트랙커 서비스를 실행하여 마스터 노드로부터 운영된다.




하둡의 주요 구성 요소들을 알아보자.


HDFS는 하둡 파일 시스템(Hadoop distributed file system)으로 대용량의 파일을 여러 노드에 중복으로 저장하여 안정성을 높이고 처리해주는 프레임워크이다. 대용량 파일의 경우 마지막 블록을 제외하고 모두 동일한 크기로 나누어 저장된다.


맵리듀스(Map Reduce)는 구글에서 개발한 프로그래밍 모델로 큰 사이즈의 데이터를 효과적으로 처리하기 위한 병렬 및 분산 처리를 위한 프레임워크이다.


얀(YARN, Yet Another Resource Negotiator)은 이름값 그대로 리소스를 효율적으로 관리하기 위한 자원 관리 시스템이다.

하둡의 잡트래커가 맵리듀스의 요청을 받아 처리하지만 운영상의 몇가지 단점을 있었기에 이를 개선하여 만들어진것이 바로 얀이다.




하둡에 대해 정말 간단한 특성과 몇가지 요소를 정리했다.

여기서 오해하면 안되는 내용으로는 Mysql, Oracle과 같은 RDBMS 처럼 하둡만 단순히 설치했다고 빅데이터를 자유롭게 다룰 수 있다는 의미는 아니다. 빅데이터를 처리하기 위해서는 비구조화된 데이터를 우선 빠르고 안정적으로 저장하는것이 우선이기에 하둡은 이것을 위한 창고 역할의 시스템인 것이다.

그렇기에 하둡과 Spark, Hive 등과 같은 다른 시스템들과 결합하여 운영되는것이 요즘 일반적인 아키텍쳐로 사용되고 있다.



하둡 클러스터를 직접 설치해 운영한다면 공부할게 많을 것이다.

하지만 AWS 아키텍쳐를 이용한다면 EMR, S3 의 조합을 베이스로 '비교적' 쉽게 운영하는 것도 가능하다.

그러므로 스스로 어떤 목표를 가지고 하둡 인프라 구축에 어느정도까지 힘을 실어 공부하고 어떤 기술에 집중할지 선택이 필요하다.

#Hadoop#Apache#OLAP