string(27) "/blog/?uid=196&mod=document"

HOME

ABOUT US

Blog

Blog

Blog

[Ark Article] 하둡 에코시스템

2021.10.07

20211007152516_vzyebem.jpg

 

  ■  하둡은 분산 환경에서 대규모의 데이터를 저장하고 처리할 수 있는 자바 기반의 오픈소스 프레임워크로서 핵심 구성요소는 분산 파일 시스템(HDFS: Hadoop Distributed File System)과 맵리듀스(MapReduce)로 구성된다.

 ■ 일반적으로는 하둡이라고 하면 하둡뿐만 아니라 하둡을 중심으로 한 데이터 엔지니어링 프로젝트와 프레임워크 전부, 즉 하둡 에코시스템을 의미하고 대표적으로 다음과 같이 핵심 컴포넌트, 연산 프레임워크, 분석용 SQL 엔진, 스토리지 엔진으로 구성된다.

 


20211007152516_bpcifph.jpg 

핵심 컴포넌트

1.   HDFS (분산 데이터 저장)

   ■   확장성과 장애 허용성을 가진 분산 파일 시스템으로 저장소 역할

   ■   NameNode, DataNode 로 구성

2.   Yarn (분산 클러스터 리소스 관리)

   ■   작업 스케줄링, 클러스터 리소스 관리

   ■   MapReduce, Hive, Impala, Spark 등 다양한 애플리케이션들을 실행 관리

   ■   Resource Manager, Node Manager 로 구성

3.   Zookeeper (분산 코디네이터)

   ■   분산 환경에서 서버들간의 상호 조정이 필요한 다양한 서비스 제공

   ■   하나의 서버에서 처리한 결과를 다른 서버들과도 동기화

   ■   Active 마스터 서버에서 문제가 발생할 경우 다른 서버를 Active 마스터 서버로 서비스 중지없이 제공

   ■   하나의 서버에만 서비스가 집중되지 않도록 분산하여 동시 처리

연산 프레임워크

1.   MapReduce

   ■   하둡의 핵심 기술 중에 하나

   ■   대규모 데이터를 병렬로 분산 처리(Map)하고 이를 다시 합치는(Reduce) 과정을 수행하는 모델

   ■   Hive, Sqoop, Pig 등 많은 고수준 프레임워크에서 내부적으로 연산을 실행하는데 사용

2.   Spark

   ■   효율성과 사용성에 중점을 둔 분산 연산 프레임워크

   ■   다수의 저사양 장비로 이루어지는 워커 노드에 있는 메모리를 최대한 활용하여 데이터 I/O의 속도 개선

   ■   대규모 데이터를 빠르게 연산하기 위한 병렬 처리 엔진

   ■   필터링, 조인, 그룹핑, 집계 같은 일반적인 연산을 위한 풍부한 API와 SQL 스타일의 문법 제공

분석용 SQL 엔진

1.   Hive

   ■   하둡 기반의 데이터 웨어하우징용 솔루션

   ■   SQL과 유사한 HiveQL이라는 언어를 제공하여 데이터 분석을 용이하게 만든 최초의 기술(페이스북 개발)

   ■   ETL, 보고서 데이터 생성, 벌크 데이터 처리등 오프라인 배치작업에 적합

2.   Impala

   ■   Cloudera에서 개발한 하둡 기반의 실시간 SQL 질의 시스템

   ■   Yarn의 리소스 매니저를 통해 실행되는 배치 작업으로 변환하지 않고 C++로 구현된 독립적인 자체 서비스로 동작

   ■   텍스트 파일, HBase 테이블, Avro등 다양한 데이터 소스를 지원하지만 Parquet를 가장 선호함

스토리지 엔진

1.   HBase (분산 DB)

  ■   HDFS의 컬럼(열) 기반 데이터베이스

  ■   분산 테이블에 셀이라 불리는 키-값 쌍의 반정형 데이터 형식으로 데이터를 저장

  ■   실시간 랜덤 조회 및 업데이트 가능

2.   Kudu (컬럼 기반 스토리지)

  ■   데이터에 대한 임의 접근과 순차 스캔을 모두 지원하고 기존 데이터를 수정하는 스토리지 및 쿼리 엔진

  ■   미리 정의된 스키마를 따르는 테이블에 타입을 가진 컬럼으로 구성된 레코드를 저장하는 정형 데이터 스토어임.

  ■   고속 데이터를 위한 고속 분석 스토리지로 설계

3.   Solr

  ■   오픈 소스 엔터프라이즈 검색 서버로 색인과 검색 두 가지 기능을 제공

  ■     XML요청을 HTTP를 통해 보내는 웹 서비스 API가 있는 검색 서버

  ■   다른 솔라 검색 서버로 캐싱과 복사가 가능