Hadoop 3.0 [운영측면 특징] 이레이저 코딩(Reed Solomon),
YARN Timeline Service v.2(Timeline Server),
MapReduce task-level native optimization(JNI[Java Native Interface])
[개발측면 특징]
JDK 8.0, Shell script/api, HA

 
토픽 이름() Hadoop 2.0 3.0
분류 DB > Hadoop(Framework) > Hadoop 2.0
키워드(암기) HFDS, Map-Reduce, YARN(Yet Another Resource Negotiator)
암기법(해당경우)  

 

기출문제

번호 문제 회차
1 하둡 분산파일시스템(HDFS: Hadoop Distributed File System) 특징 구조에 대하여 설명하고, 구성요소인 네임노드, 데이터 노드의 역할에 대하여 설명하시오 111.응용.2
2 빅데이터 분산처리시스템인 하둡 MapReduce 한계점을 중심으로 Apache Spark Apache Storm 비교하여 설명하시오 105.정보관리.2
3 빅데이터 핵심기술을 오픈소스와 클라우드 측면에서 설명하고, 표준화 기구들의 동향을 설명하시오 101.정보관리.2
4 아파치 하둡(Apache Hadoop) 구조와 작동 개요를 맵리듀스 엔진 (MapReduce engine)중심으로 설명하시오. 99.정보관리.3

 

I. Hadoop1.0 문제점과 Hadoop 2.0 등장

  1. Hadoop1.0 문제점
문제점 설명
Job Tracker 병목 - 클러스터 자원배분과 Job 관리를 함께 수행
- 클러스터에서 병목의 지점이 됨
낮은 자원 활용 - 고정된 /리듀스 슬롯
- 노드에서 실행할 있는 Map Reduce 태스크 개수가 제한됨
- , 노드에 여유 자원이 있어도 자원을 활용하지 못함
확장 한계 - 맵리듀스만 실행 가능
  1. Hadoop2.0 등장
  • Hadoop1.0 문제점을 해결한 YARN 아키텍처 도입
  • Yet Another Resource Negotiator
  • 하둡 클러스터의 각 어플리케이션에 필요한 리소스를 할당하고 모니터링 하는 업무에 집중함으로써 다양한 어플리케이션이 하둡 클러스터의 리소스를 공유할 수 있도록 하는 핵심요소
  • JobTracker 하던 가지 역할(자원관리, Job 상태관리) ResourceManager ApplicationMaster 분리(JobTracker 병목제거), 범용 컴퓨팅 클러스터 역할
  • MR외에 다양한 어플리케이션을 실행할 있으며, 어플리케이션마다 자원(CPU, Memory) 할당
  • MapReduce 사용하지 않는 어플리케이션이 하둡 클러스터에 접근할 있도록 관리 기능을 제공

  • 하둡 기반 스케줄링, 자원관리, 다양한 종류의 분산환경을 지원하는 차세대 하둡 플랫폼기술
  • YARN이라는 자원관리와 다양한 이중화 기능이 개선된 HDFS 2 바탕으로 플러그인 구조를 가질 수 있는 확장 가능한 모델을 제공
  1. Hadoop 1.0 구분되는 YARN 기반 Hadoop2.0 특징

  1. Hadoop 2.0 특징
특징 설명
JobTracker 역할분리 - 하둡 1.0 JobTracker 클러스터 전체의 리소스 관리와 Job 수행관리의 분리
- Resource Manager: 리소스 관리
- Application Master: Job 관리
효율적인 자원관리 - 하둡 1.0 /리듀스 슬롯의 개념을 제거해 클러스터 전체의 사용 효율성이 증대됨
확장성 범위확대 - 하둡 1.0 하나의 JobTraker 노드환경의 클러스터 확장문제를 Resource Manager, Application Master 분리로 해결
다양한 분산처리 환경지원 - MapReduce이외의 다른 분산처리 환경 지원
- YARN API 이용하면 새로운 분산처리 개발 가능
- 버클리대학에서 만든 SPARK, STORM 등이 YARN위헤서 동작
- 배치처리 방식뿐만아니라 실시간, 스트리밍 가능해짐
- Batch, Interactive, Realtime, Streaming
  1. Hadoop2.0 구성도와 구성요소

  1. Hadoop2.0 구성요소
구분 요소 설명
Resource Manager - 클러스터 전반의 자원관리와 테스크들의 스케줄링을 담당
- 클러스터마다 존재
- 클러스터 내에 설치된 모든 Node Manager 통신을 통해 서버의 자원 관리


Scheduler - Node Manager들의 자원상태 관리, 부족한 리소스 배정

Application Manager - Node Manager Application Master 상태관리
- Application Master: YARN에서 실행되는 하나의 Task 관리하는 마스터 서버

Resource Tracker - Container 라이브 체크를 위해 Application Master 재시도 횟수, 대기시간 설정관리
Node Manager - Container 리소스 사용량 모니터링, 관련 정보를 Resource Manager 통지, 노드당 개씩 존재

Application Master - 하나의 프로그램에 대한 마스터 역할 수행
- 스케줄러로부터 적절한 Container 할당받고, 프로그램 실행상태 모니터링

Container - CPU, Disk, Memory 등과 같은 속성으로 정의
- 테스크는 하나의 Containe안에서 실행

 

  1. Hadoop1.0 2.0, 3.0 비교

. 하둡1.0 2.0 비교

. 하둡1.0 맵리듀스와 하둡2.0의 얀 비교

구분 Map/Reduce YARN
역할
  • 리소스관리 및 애플리케이션 생명주기 모두 한 잡 트래커가 관리
  • 리소스관리자와 애플리케이션 마스터가 각각의 역할 수행
확장성
  • 타 애플리케이션 플러그인 불가
  • YARN API 이용하여 다양한 솔루션을 YARN에서 동작하는 애플리케이션으로 개발, 플러그인 가능
기능
  • Web
  • REST
  • HDFS
  • HDFS HA (고가용성)
  • HDFS Federation (연합)
  • HDFS 스냅샷
  • HDFS NFSv3 지원
고가용성
(High Availability)
NameNode SPOF(Single Point Of Failure, 단일 고장점) 고가용 공유 스토리지를 활용한 NameNode 이중화 (Active- Standby)
연합
(Federation)
  • 단일 NameNode 구성
  • 단일 Namespace(/)
  • 다중 NameNode 구성
  • NameNode Namespace관리
 

. 하둡 1.0, 2.0, 3.0 특징

버전 특징
하둡 1.0 * 분산저장, 병렬처리 프레임워크를 정의
 - 분산저장(HDFS) : 네임노드, 데이터 노드가 처리
 - 병렬처리(MapReduce) : 잡트래커, 태스트 트래커가 처리
* 클러스터당 최대 4000개의 노드를 등록
* 작업 처리를 슬롯(slot) 단위로 처리
 - , 리듀스 슬롯을 구분하여 처리
하둡 2.0 * YARN 도입하여 병렬 처리 구조를 변경
 - 클러스터 관리 : 리소스 매니저, 노드 매니저
 - 작업 관리 : 애플리케이션 마스터, 컨테이너
* MR Spark, Hive, Pig 다른 분산 처리 모델도 수행 가능
* 클러스터당 1만개 이상의 노드 등록 가능
* 작업 처리를 컨테이너(container) 단위로 처리
하둡 3.0 * 이레이져 코딩(Erasure Coding) 도입
 - 기존의 블록 복제(Replication) 대체하는 방식으로 HDFS 사용량 감소
* YARN 타임라인 서비스 v2 도입
 - 기존 타임라인 서비스보다 많은 정보를 확인 가능
* 스크립트 재작성및 이해하기 쉬운 형태로 수정
 - 오래된 스크립트를 재작성하여 버그 수정
* JAVA8 지원
* 네이티브 코드 최적화
* 고가용성을 위해 2개 이상의 네임노드 지원
 - 하나만 추가할 수 있었던 스탠바이 노드를 여러개 지원가능 스탠바이 노드
* Ozone 추가
 - 오브젝트 저장소 추가
global ResourceManager (RM) and per-application ApplicationMaster (AM).

 

 

 [참고] YARN기반 실행

  • Stom on YARN, 호튼웍스, Spark on YARN, Apache Giraph on YARN, HOYA(Hbase on YARN), 호튼웍스
  •  

 [참고] Hadoop2.0 활용한 배포판

  • 맵알(MAPR) 하둡 플랫폼, 호튼웍스 HDP 2.0, 클라우데라 CDH 4.0: 실시간 처리엔진 Impala SPARK 탑재

. [참고] 하둡 에코시스템

  • 하둡에는 보완적인 서비스들을 제공하거나 비즈니스에 적용할 수 있는 다양한 서브 프로젝트가 존재함
  • HDFS MapReduce 하둡의 코어 프로젝트, 나머지는 하둡의 하부 프로젝트이다

구성요소 설명
Core 분산 파일시스템으로 일반적인 입출력(직렬화, 자바 RPC, 영속데이터 구조)을 위한 컴포넌트와 인터페이스의 집합
Avro 교차언어 RPC 영속적인 데이터 스토리지를 위한 데이터 직렬화 시스템
MapReduce 범용 컴퓨터들의 커다란 클러스터에서 수행되는 분산데이터 처리 모델과 실행환경
HDFS 범용 컴퓨터들로 된 커다란 클러스터에서 수행되는 분산 파일 시스템
Pig 대규모 데이터셋 탐색용 데이터 흐름언어와 실행환경
HBase 분산 컬럼 지향 데이터베이스 스토리지로 HDFS 를 사용
ZooKeeper 다수 컴퓨터로 분산 처리되는 고가용성 조정 (available coordination) 서비스로, 분산 (Lock) 같은 프리미티브를 제공
Hive 분산 데이터웨어하우스, HDFS 저장된 데이터를 관리하고, 데이터 쿼리를 위하여 SQL 기반 쿼리 언어(런타임 엔진에 의해 맵리듀스로 변환되는) 제공
Chukwa 분산 데이터 수집 및 분석 시스템, HDFS에 데이터를 저장하는 수집기를 수행하고, 보고서를 생성하기 위해서 맵리듀스를 사용

 

반응형

'정보관리기술사 > DB_데이터분석' 카테고리의 다른 글

DB Table partitioning  (2) 2023.08.28
샤딩(Sharding) / Shard  (0) 2023.08.27
HDFS(Hadoop Distributed File System)  (0) 2023.08.25
Big Data 보안  (0) 2023.08.24
아파치 카프카(apache kafka)  (1) 2023.08.23

+ Recent posts