공공 빅데이터 청년 인턴십

빅데이터 엔지니어링(2)

연디연디 2021. 8. 24. 16:57
728x90

3.     하둡 아키텍쳐

3.1  하둡 아키텍쳐 개념

-      하둡 1.0 : HDFS Map Reduce를 근간으로 분산 병렬처리가 가능한 오픈소스 프레임워크

3.2  HDFS

-      HDFS(Hadoop File System) : 다수의 서버를 이용하여 클러스터를 구성하고 파일을 분산 저장하여 가용성을 높인 파일 시스템

3.3  Map Reduce

-      Map Reduce : HDFS 저장소를 기반으로 Key별로 로직을 처리하는 Map 작업과 결과를 취합하는 Reduce 작업으로 구성되어 병렬 연산 가능한 하둡 처리기술

-      Map Reduce의 구성 : Job Tracker, Task Tracker

-      Map Reduce의 특징 : HDFS에 저장된 데이터를 소스로 병렬 연산 수행, 개발자는 Map 함수와 Reduce 함수 작성만 집중하며 병렬성은 Map Reduce 프레임워크에서 담당, Task Traker에는 Slot이라는 연산단위(CPU/Memory)가 존재하며 SlotMap Task 또는 Reduce Task의 고정된 용도로 사전 정의됨.

 

 

 

4.     하둡 에코시스템

4.1  하둡 2.0 개념

-      YARN을 도입하여 리소스 관리와 잡 관리를 분리시키고 다양한 하둡 생태계 기술을 수용한 하둡 프레임워크

-      하둡 2.0이 등장하면서 다양한 수집/저장/처리 기술을 연동한 하둡 에코시스템(EcoSystem)이 형성됨

-      하둡 2.0의 주요 특징 : 가용성(네임노드 이중화), 확장성(최대 4만 노드), 사용성(네임노드 병목 개선 성능 개선), 이식성(기술 수용성)

-      YARN : Yet Another Resource Negotiator, 특징은 클러스터 자원관리와 어플리케이션 잡 관리를 분리, Map Reduce 외 다양한 어플리케이션 수용 가능, 하둡 1.0 대비 더 많은 Job을 효율적으로 수행

 

4.2  하둡 에코시스템 수집

-      Flume : 대용량 로그 데이터를 다양한 방법으로 수집하여 하둡 기반 생태계에 저장할 수 있는 유연하고 확장 가능한 오픈소스 로그 수집기, 로그 수집에 Flume은 자주 사용되고 있으며 Kafka와 결합하여 사용하는 경우가 많음

-      Kafka : 대용량 실시간 로그 처리에 적합한 Pub/sub 구조의 분산 메시징 시스템

       ◆  Pub/Sub 구조 메시징 시스템이란?

시스템간 데이터 전송이 필요한 경우 전송 시스템은 데이터를 게시만 하고 수신 시스템은 데이터를 수신만 하여 상호 영향을 주지 않고 메시지를 전달하는 인터페이스 방법

-      Sqoop : SQL to Hadoop의 약자로 DBMS와 하둡 기반 솔루션 간 데이터 전송 위한 솔루션 양방향

(RDBMS -> 하둡 or 하둡 -> RDBMS) 전송 가능

4.3  하둡 에코시스템 저장

-      Hbase : 구글 빅테이블을 기반으로 개발되어 Master Slave 구조 및 컬럼 패밀리 저장 구조를 가진 NoSQL DB

-      Kudu : 정형 데이터를 Tablet 단위로 분할 및 분산 저장할 수 있는 컬럼 기반 저장소

 

 

5.     하둡 에코시스템(처리/관리)

5.1  하둡 에코시스템 처리

-      Hive : HDFS에 저장된 정형 데이터를 HiveQL 질의어(SQL유사 질의어)로 처리 가능한 분석 솔루션

-      Spark : Map ReduceI/O 집약적 한계를 극복하여 메모리에서 고속 분산 처리하는 인메모리 분산처리 솔루션

-      Impala : Map Reduce Job 변환없이 자체 쿼리엔진을 사용하여 고속 병렬쿼리 가능한 SQL 분석기

 

 

5.2  하둡 에코시스템 관리

-      Zookeeper : 분산 시스템 환경에서 데이터 동기화, 리더 선출 알고리즘 등을 제공하여 서비스 지속성을 보장하는 분산 환경 코디네이터, 개발자는 어플리케이션 로직에 집중하도록 하고 분산 환경에 대한 가용성 로직은 주키퍼를 사용함으로써 쉽게 적용 가능

-      Airflow : 파이썬 기반 태스크를 정의하고 DAG 흐름을 가진 워크플로우를 작성하여 스케줄 관리 가능한 솔루션 (Airbnb에서 개발하여 2015년 발표)

5.3  하둡 3.0과 하둡 베포판

-      하둡 3.0 : HDFS의 저장 효율성을 향상시키고 다중 네임 노드를 도입하여 가용성을 향상시킨 하둡 버전

728x90