소품집

Hadoop 이란? 기본 동작구성과 프레임워크 본문

Hadoop

Hadoop 이란? 기본 동작구성과 프레임워크

sodayeong 2020. 5. 12. 15:55

1. 하둡 소개


하둡이란?

  • 하둡 개발자 커딩의 아들이 가지고 놀던 코끼리 인형 이름 ^__^
  • 하둡(Hadoop)은 대용량 데이터를 분산처리 할 수 있는 자바 기반의 오픈소스 프레임워크

하둡 vs RDBMS (관계형 데이터베이스 관리 시스템)

  • 정형 데이터 → RDBMS 저장 (RDBMS는 라이선스 비용이 비쌈)

    → RDBMS: 데이터가 저장된 서버에서 데이터를 처리하게 됨

  • 비정형 데이터(사이즈가 큼) → Hadoop 저장

    → 하둡: 여러대의 서버에 데이터를 저장하고, 데이터가 저장된 각 서버에서 동시에 데이터 처리

 

2. 하둡의 구성


분산저장 → 분산처리

  • 하둡 파일 시스템(HDFS)을 이용해서 파일을 적당한 블록 사이즈(64MDD)로 나눠서 각 노드 클러스터(각각의 개별 컴퓨터)에 저장
  • 데이터 유실의 위험이나 사람들이 많은 접근(Access)할 때 부하처리를 위해 각 블럭의 복사본(Replication)을 만들어 저장

분산처리 → 병렬처리

  • MapReduce라는 프레임워크를 이용해서 계산
  • 맵리듀스라는 프레임 워크는 Map(데이터처리)+Reduce(결과반환)라는 두 가지 형식으로 나누어짐
  • Map 함수에서 데이터를 처리하고 Reduce 함수에서 원하는 결과값을 계산

즉!

분산 파일 시스템인 HDFS(Hadoop Distributed File System)에 데이터를 분산 저장

분산 처리 시스템인 맵리듀스(MapReduce)를 이용해 데이터를 병렬처리

 

 

 

 

3. 하둡의 특성


1. 대용량 데이터 처리를 위한 병렬 분산 처리 소프트 웨어

2. 병렬 분산 처리 문제를 자동적으로 해결

3. 대규모 데이터를 처리하기 위한 구조

 

 

 

기존 관계형 데이터베이스 관리 시스템(RDBMS)과 비교

  • RDBMS가 다루기 힘든 테라바이트~페타바이트 데이터를 다룸
  • RDBMS의 I/O 단위인 블록사이즈는 8kB, 16kB 정도. 1초에 도 여러 번 실행하게 됨 ↔ Hadoop 에서는 1회 접속으로 수십 메가바이트서 수백 테라바이트까지 처리
  • RDBMS는 수 밀리초~수 초 정도의 짧은 응답시간을 요구 ↔ Hadoop에서는 분산처리를 위한 전처리가 필요하여 최저 10~20초 정도의 오버헤드 발생
  • RDBMS는 데이터가 사전에 정의된 구조로 정규화 되어야 함

4. 대용량 데이터의 일괄 처리에 적합

  • 테라 바이트~ 페타 바이트까지 다룰 수 있다!

5. 확장성이 우수

  • 서버 대수를 늘리면 저장할 수 있는 용량과 처리 성능이 향상된다.

6. 유연한 데이터 구조에 대응

  • 처리 시점에 데이터 정의가 가능

 

 

하둡의 서버 구성

  • HDFS의 마스터 서버를 NameNode, 슬레이브 서버를 DataNode라고 부름
  • MapReduce의 마스터 서버를 JobTracker, 슬레이브 서버를 TaskTracker라 부름

HDFS의 편의성

  • 투과성: 사용자는 파일이 어떻게 블록으로 분할되어 있는지 의식할 필요가 없음 (사용자는 어디에 저장되어 있는지 모른다.)
  • 확장성: 디스크 용량이 부족하면 서버를 추가하기만 하면 됨

HDFS의 신뢰성

  • 하나의 서버가 고장나서 블록에 접근할 수 없게 되더라도 다른 서버에 동일한 블록이 존재하므로 데이터 소실 위험이 낮음 (Duplication 되어 있어!)

 

A. No! NameNode의 이중화로 해결될 수 있다.

 

 

 

네임노드의 위험성

  • 마스터 서버인 NameNode가 고장나면 HDFS 전체가 망가질 수 있음

    네임노드의 이중화(HA 구성)로 해결

     

 

Hadoop MapReduce 프레임워크

 

  • A, B, C 세 사람이 분담해서 직계 작업을 한다.
  • 취급 상품은 '상품a', '상품b', '상품c', '상품d', '상품e' 다섯 종류가 있다.
  • 전표에서는 상품 판매 실적이 기록된다. 하나의 전표에는 전표 번호, 상품명, 수량이 기재되어 있다. 하나의 전표에는 한 종류의 상품만 기록된다.
  • 각 상품이 몇 개씩 판매되었는지 집계하고 싶다!!

 

MapReduce 처리 흐름 개요

 

하둡 맵리듀스 프레임 워크가 사용되는 예시

특성이 있을수도, 아예 없을 수도 있다!

 

 

4. 하둡 에코 시스템


하둡 에코 시스템을 구성하는 블럭이다. 순서대로 살펴보자

 

728x90

'Hadoop' 카테고리의 다른 글

HADOOP - MapReduce  (0) 2020.05.22
HDFS (Hadoop Distributed File System)  (0) 2020.05.12
Hadoop 이란  (0) 2020.04.01
Comments