Hadoop 핵심개요

2022-01-20

.

Data_Engineering_TIL(20220120)

[학습자료]

인프런 “Hadoop 3.2.1 and Big data” 강의를 공부하고 정리한 내용입니다.

** URL : https://www.inflearn.com/course/하둡-빅데이터

[학습내용]

  • Hadoop 이란

하둡 스텍은 빅데이터를 위한 오픈소스 프레임워크로 대용량 스토리지이며 클러스터 내에서 대규모 데이터셋에 대한 프로세싱이 가능하다.

  • Hadoop을 설명하는 7가지 특징

(1) 오픈소스 플랫폼

(2) 자바기반 분산처리 플랫폼

(3) 측정할 수 있는 search index로 scale out 방식임

하둡의 초창기 개발의 목적은 야후에서 검색 색인을 고객들로 받은 대용량 데이터를 처리하고자 했기 때문에 이런 특징을 보이는 것이다.

하둡은 또한 각 서버의 성능을 향상시키는 것이 아니라 서버대수를 증설하는 방식이기 때문에 scale out 방식이라고 할 수 있음

(4) 소프트웨어 에코시스템

(5) 대용량 데이터에 대한 프로세싱과 분석이 가능함

(6) 배치 프로세싱 방식

수초 단위의 정교화된 소량의 데이터들을 처리하는게 아니라 대량의 데이터를 대상으로 한번에 일괄처리하는 방식임

(7) 클러스터 방식의 시스템

하둡은 대량의 서버가 클러스터로 구성되어 서로 커뮤니케이션 하면서 운영되는 방식으로 여러 클라이언트와도 통신을 하는 경우가 있음

  • Hadoop 핵심원리

(1) Failure Tolerance = 장애허용

하둡은 하드웨어나 소프트웨어가 종종 장애를 일으킬거라고 애초부터 간주를 함

장애를 받아들이면서 개발의 확장성은 높아지게 됨

시스템이 자동으로 머신의 장애를 측정하고, 허용할 수 있는 장애 허용 기준치를 두게 되는데 이를 통해 서버 하나 정도의 장애가 발생하더라도 전체 어플리케이션에 영향을 주지 않게 된다.

(2) Load Balancing - Distributed / Resiliency

로드발란싱은 시스템이 실패한 경우에도 재시도 하도록 설계되어 있음. 예를 들어서 데이터를 처리하는 도중에 한 머신이 장애가 발생해서 문제가 생겼을때 자동적으로 분산처리 하도록 한다는 것이다. 이를 통해 분산과 탄력이라는 특징을 보여준다.

(3) Data Loss

특정 서버에 문제가 발생해도 데이터는 사라지지 않는다는 의미이다.

  • Hadoop의 핵심 컴포넌트(또는 스텍이라고도 부름)

(1) Hadoop Common - Libraries and Utilites

하둡 시스템 운영을 위한 라이브러리와 유틸리티를 말한다.

(2) HDFS

(3) Distributed Data Processing - Map/Reduce

(4) Resource Manager and Scheduler (YARN)

좋은 분산시스템의 핵심은 자원관리와 스케쥴링이라고 할 수 있는데 하둡이 얀을 네번째 핵심 컴포넌트로 넣은 이유가 바로 이 스케쥴링과 자원관리의 중요성 때문이다.