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)가 존재하며 Slot은 Map 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 Reduce의 I/O 집약적 한계를 극복하여 메모리에서 고속 분산 처리하는 인메모리 분산처리 솔루션
- Impala : Map Reduce Job 변환없이 자체 쿼리엔진을 사용하여 고속 병렬쿼리 가능한 SQL 분석기
5.2 하둡 에코시스템 – 관리
- Zookeeper : 분산 시스템 환경에서 데이터 동기화, 리더 선출 알고리즘 등을 제공하여 서비스 지속성을 보장하는 분산 환경 코디네이터, 개발자는 어플리케이션 로직에 집중하도록 하고 분산 환경에 대한 가용성 로직은 주키퍼를 사용함으로써 쉽게 적용 가능
- Airflow : 파이썬 기반 태스크를 정의하고 DAG 흐름을 가진 워크플로우를 작성하여 스케줄 관리 가능한 솔루션 (Airbnb에서 개발하여 2015년 발표)
5.3 하둡 3.0과 하둡 베포판
- 하둡 3.0 : HDFS의 저장 효율성을 향상시키고 다중 네임 노드를 도입하여 가용성을 향상시킨 하둡 버전
'공공 빅데이터 청년 인턴십' 카테고리의 다른 글
빅데이터 엔지니어링(1) (0) | 2021.08.24 |
---|---|
빅데이터가 별건가, 알고보면 쉬운 통계 상식 (0) | 2021.06.25 |
2021년 공공 빅데이터 청년 인턴 (0) | 2021.06.25 |