개요
Hadoop에 대해서 간단한 이론과 Hadoop v1.x, v2.x 버전의 차이점에 대해 알아보도록 하겠습니다.
Hadoop
대용량의 검색엔진을 개발하는 과정에서 대용량의 비정형 데이터를 기존의 RDB 기술로 처리가 힘들다는 것을 꺠닫고, 구글의 GFS와 MapReduce 논문을 기반으로 개발된 프레임워크 입니다.
기존 성능이 높은 컴퓨터를 사용하여 Data를 처리하는 방식에서, 범용 컴퓨터를 클러스터화 시켜서 큰 크기의 Data를 병렬 처리하도록 구성하여 처리속도를 높이는 것을 목적으로 분산처리를 하도록 만든 것이 Hadoop 입니다.
적은 비용의 장비 구성으로 빠른 속도의 Data 처리를 수행할 수 있게 되었습니다.
Hadoop 구성요소
● Hadoop Common
○ Hadoop의 다른 모듈을 지원하기 위한 공통 컴포넌트 모듈
● Hadoop HDFS
○ 분산저장을 처리하기 위한 모듈
○ 여러개의 서버를 하나의 서버처럼 묶어서 데이터를 저장
● Hadoop Yarn
○ 병렬처리를 위한 클러스터 자원관리 및 스케줄링을 담당
● Hadoop MapReduce
○ 분산되어 저장된 데이터를 병렬 처리할 수 있게 해주는 분산처리 모듈
Hadoop v1.x
병렬처리 (MapReduce)
보시는 바와 같이 병렬처리는 Job Tracker와 Task Tracker가 담당하였습니다.
Job Tracker는 클러스터 자원 관리 및 애플리케이션 라이프 사이클 관리를 모두 수행하였습니다. 그에 따라 요구 하는 사항이 많아질 수록 Job Tracker가 해야하는 일이 많아지게 되었고 그에 따라 병목현상이 발생하였습니다.
분산저장 (HDFS)
보시는 바와 같이 분산저장(HDFS)는 NameNode와 DataNode가 담당하도록 하였습니다.
NameNode는 블록정보를 가지고 있는 MetaData를 관리하고, DataNode를 관리하는 역할을 수행하였고, DataNode는 데이터를 블록단위로 나누어서 저장하는 역할을 수행하였습니다.
Hadoop v1 특징
● 분산저장(HDFS), 병렬처리(MapReduce) 프레임워크 정의
● 분산저장(HDFS)
○ NameNode, DataNode가 처리
● 병렬처리(MapReduce)
○ JobTracker, TaskTracker가 처리
● 클러스터당 최대 4000개의 노드를 등록
● 작업 처리를 슬롯(slot)단위로 처리
○ Map, Reduce slot을 구분하여 처리
Hadoop v2.x
Yarn Architecture
Hadoop v1에서 Job Tracker가 클러스터 자원 관리와 애플리케이션 라이프 사이클 관리를 모두 담당하여 병목현상이 존재한다 하였습니다. 이러한 문제점을 해결하기 위해 Hadoop v2에서는 Yarn 아키텍처가 도입되었습니다.
Job Tracker의 기능을 다음과 같이 분리하여 최대 10,000개의 노드를 등록할 수 있습니다.
● 클러스터 자원 관리 : Resource Manager, Node Manager 담당
○ Resource Manager
○ Node Manager
● 애플리케이션 라이프 사이클 관리 및 처리 : App Mstr(애플리케이션 마스터), Container
○ App Mstr : 애플리케이션 라이프 사이클 관리 수행
○ Container : 작업의 처리 담당 (작업이 요청되면 생성되고, 자업이 완료되면 종료)
실행 순서를 살펴보면, 작업이 실행되면 App Mstr가 생성되고, App Mstr가 Resource Manager에게 자원을 요청하여 실제 작업을 처리하는 Container가 할당받아 작업을 처리합니다.
Yarn은 컨테이너 단위로 할당 받아 작업을 처리하기 때문에 MR로 구현된 작업이 아니더라도 Spark, HBase, Storm 등 다양한 컴포넌트들을 실행할 수 있습니다.
Hadoop v2 특징
● Yarn을 도입하여 병렬 처리 구조를 변경
○ 클러스터 관리
Resource Manger, Node Manager
○ 작업 관리
App Mstr, Container
● MR 외 Spark, Hive, Pig 등 다른 분산 처리 모델도 수행 가능
● 클러스터당 1만개 이상의 노드 등록 가능
● 작업 처리를 컨테이너(Container) 단위로 처리
참고자료
1-하둡 버전별 특징
하둡의 버전[^1]별 특징을 알아보기 전에 각 버전의 특징에 대해서 알아보겠습니다. 하둡 v1에서 하둡의 기본 아키텍처를 정립하였습니다. 병렬처리(맵리듀스)는 잡트래커와 태 ...
wikidocs.net
'BigData > Hadoop' 카테고리의 다른 글
[Hadoop] Zookeeper Install (0) | 2022.11.08 |
---|---|
[Hadoop] Zookeeper 란? (0) | 2022.11.08 |
[Hadoop] Hadoop Eco System 이란? (0) | 2022.09.07 |