TOP
class="layout-aside-left paging-number">
본문 바로가기
프로그래밍 및 기타/프로그래밍 용어, 상식, 마케팅 등

[하둡 에코시스템] Hadoop Ecosystem

by 기록자_Recordian 2024. 3. 15.
728x90
반응형
하둡 에코 시스템 (Hadoop Ecosystem)
하둡 에코시스템: 대규모 데이터 처리를 위한 여러 오픈 소스 프로젝트의 모음

 
하둡 에코시스템에 대해 설명하기 전에, "하둡" 이라는 것에 대해 먼저 간단히 짚고 넘어갈 필요가 있다.


하둡 (Hadoop)

 
하둡은 여러 개의 저렴한 컴퓨터를 마치 하나인 것처럼 묶어 대용량 데이터를 처리하는 기술이다. 하둡은 수천대의 분산된 x86 장비에 대용량 파일을 저장할 수 있는 기능을 제공하는 분산파일 시스템과, 저장된 파일 데이터를 분산된 서버의 CPU와 메모리 자원을 이용해 쉽고 빠르게 분석할 수 있는 컴퓨팅 플랫폼인 맵리듀스로 구성돼 있다.

※ 출처: [네이버 지식백과] 하둡 [Hadoop] - 빅데이터가 '하둡'을 찾는 까닭 (용어로 보는 IT, 이지영)


빅데이터 시대에 꼭 필요한 하둡 생태계

 
하둡이 등장하기 전까지 데이터 처리 시스템 하단은 분석 대상을 저장할 스토리지와 분석 처리에 필요한 메모리, 분석 연산을 수행하는 컴퓨팅 유닛으로 구성돼 있었다. 시스템 기본 인프라 위에 데이터를 저장하는 데이터베이스 솔루션과 스토리지, 데이터베이스의 데이터를 이용해 실제 분석을 수행하는 분석 프로그램이 탑재되는 식이었다.

지금까지 상당수 기업들이 적잖은 비용을 지불하고 오라클이나 IBM이 개발한 데이터 분석 솔루션을 구축해 데이터를 분석했다. 하지만 빅데이터에 포함된 데이터는 기존 데이터에 비해 크기는 크지만 덜 중요한 데이터가 상당수였다. 이런 데이터를 처리하고자 비싼 비용을 지불하며 매번 솔루션을 도입하겠다는 기업은 드물었다.

※ 출처: [네이버 지식백과] 하둡 [Hadoop] - 빅데이터가 '하둡'을 찾는 까닭 (용어로 보는 IT, 이지영)

 
[하둡 에코 시스템 장점]

  • 저렴하면서도 방대한 데이터를 분석
  • 대용량 데이터를 값싸고 빠르게 분석
  • 사용하기 쉽고 편리
  • 하둡의 부족한 기능을 서로 보완
  • 솔루션 대부분이 오픈소스화

하둡 에코시스템 구성도

출처: https://itpenote.tistory.com/503

 

출처: https://dodonam.tistory.com/390#google_vignette


하둡 에코시스템 구성요소

 

[분산환경 관리자 -  코디네이터]

ZooKeeper

  • 하나의 서버에만 서비스가 집중되지 않도록 서비스를 알맞게 분산하여 동시에 처리하게 해줌
  • 하나의 서버에서 처리한 결과를 다른 서버들과도 동기화
  • 운영 서버에서 문제가 발생해 서비스를 제공할 수 없는 경우, 다른 대기중인 서버를 운영 서버로 바꿔 서비스가 중지없이 제공되게 해줌
  • 분산 환경을 구성하는 서버들의 환경설정을 통합적으로 관리
  • 분산 환경에서 서버 간의 상호조정이 필요한 다양한 서비스 제공

[리소스 관리]

Yarn

  • 데이터 처리 작업을 실행하기 위한 클러스터 지원, 스케줄링을 위한 프레임워크

[데이터 수집 및 저장]

Flume

  • 분산된 서버에 에이전트가 설치되고 각 에이전트가 데이터를 전달받는 구조
  • 전체 데이터 흐름을 관리하는 마스터 서버가 데이터의 수집 위치와 전송방식을 결정하여 동적으로 변경 가능

Kafka

  • 실시간 데이터, 스트림 데이터를 관리하기 위한 분산 메시징 시스템

HBase

  • NoSQL 용 HDFS의 컬럼 기반 데이터베이스
  • 구글의 BigTable 논문을 기반으로 개발
  • 실시간 랜덤 조회 및 업데이트 가능하며, 각각의 프로세스들은 개인의 데이터를 비동기적으로 업데이트
  • MapReduce는 일괄처리 방식으로 수행

HCatalog

  • 하둡으로 생성한 데이터를 위한 테이블 및 스토리지 관리 서비스
  • Hive에서 생성한 테이블이나 데이터 모델을 Pig나 MapReduce 에서 손쉽게 이용 가능 (상호 운영성 향상)

Kudu

  • 컬럼 기반 저장

Chukwa

  • 분산환경에서 생성되는 데이터를 HDFS에 안정적으로 저장하는 플랫폼
  • 실시간 분석 제공
  • 어댑터가 데이터를 메타데이터가 포함된 청크 단위로 전송

Sqoop

  • 커넥터를 사용하여 관계형 데이터베이스 시스템에서 하둡파일 시스템으로 데이터를 수집
  • 하둡 파일 시스템에서 관계형 데이터베이스 시스템으로 데이터를 보내는 기술
  • 전체 데이터베이스 또는 테이블을 HDFS로 한 번에 전송 가능
  • 시스템 사용률과 성능을 고려한 병렬 데이터 전송
  • RDB에 매핑해서 HBase와 Hive에 직접 임포트 제공
  • 프로그래밍 방식의 데이터 인터렉션
  • 스쿱 클라이언트, 스쿱 서버, 커텍터 등으로 구성

Scrapy

  • 파이썬 언어 기반의 비정형 데이터 수집 기술
  • 단순한 스크랩 및 다양한 부가 요소

Apache Kafka

  • 대용량 실시간 로그 처리를 위한 분산 스트리밍 플랫폼
  • 메모리 및 파일 큐(Queue) 기반의 채널 지원
  • Multi Agent 와 Consolidation, Fan Out Flow 방식으로 구성되어 수평 확장, 수집 분산 처리 가능

Scribe

  • 다수의 서버로부터 실시간으로 스트리밍 되는 로그 데이터를 수집하여 분산 시스템에 데이터를 저장하는 대용량 실시간 로그 수집 기술
  • 단일 중앙 스크라이브 서버와 다수의 로컬 스크라이브 서버로 구성 > 안정성과 확장성 제공

[데이터처리]

HIVE

  • 하둡 기반의 데이터웨어하우징용 솔루션
  • 페이스북에서 개발
  • SQL과 매우 유사한 HiveQL 쿼리 제공

Impala

  • 클라우드데라에서 개발한 하둡 기반의 실시간 SQL 질의 시스템
  • MapReduce 사용하지 않고, 자체 개발한 엔진을 사용해 하이브보다 빠른 성능 제공
  • 데이터 조회를 위한 인터페이스
  • HBase와 연동 가능

Tajo

  • 국내 (고려대 정보통신대) 에서 개발한 하둡 기반의 DW 시스템
  • 데이터 저장소는 HDFS를 사용하되, 표준 DB 언어인 SQL을 통해 실시간 데이터 조회 가능
  • Hive 보다 2~3배 빠른 속도, 임팔라와는 비슷한 속도
  • 특정 업체 솔루션에 종속되지 않음 (임팔라는 클라우드데라의 하둡을 써야 함)

Pig

  • 복잡한 MapReduce 프로그래밍을 대체할 Pig Latin 자체 언어 제공
  • MapReduce API를 단순화시키고 SQL과 유사한 형태로 설계

Spark

  • MapReduce와 비슷한 목적의 업무를 활용하나, 메모리 기반에서 운영 (매우 빠른 처리 속도)
  • Python, R, SQL, Scala 등 언어 활용

Mahout

  • 하둡 기반 데이터 마이닝 알고리즘을 구현한 오픈소스
  • 주요 알고리즘 지원 (분류, 클러스터링, 추천 및 협업 필터링, 패턴 마이닝, 회귀 분석, 차원 리덕션, 진화 알고리즘 등)
  • 사용자의 비즈니스 환경에 맞게 최적화 가능

[워크플로우 관리]

Ooozie

  • 하둡의 작업을 관리하는 워크플로우 및 코디네이터 시스템
  • 워크플로우를 만들어 작업을 실행하고 자바 서빌릇 컨테이너에서 실행되는 자바 웹 어플리케이션 서버
  • 피그, 하이브, 스쿱 등과 호환성 높음

Airflow

  • DAGs (Directed Acyclical Graphs) 기반의 워크플로우
  • 에어비앤비에서 개발
  • 각 작업의 흐름의 시각화 및 스케쥴링, 모니터링 가능
  • 파이썬 기반으로 워크플로우 작성 가능

Nifi

  • 데이터 흐름을 모니터링하기 위한 프레임워크

[데이터 시각화]

Zepplin

  • Jupyter Notebook 과 유사
  • 웹 기반의 Workspace 내에 파이썬, 하이브, 스파크 등 다양한 솔류선의 API 호출하여 결과를 가져오고 시각화

HUE

  • 하둡과 하둡 에콧시스템의 활용도를 높인 웹 인터페이스 (Hadoop User Experience)
  • HSQL 기반으로 데이터 조회 및 시각화 가능

[데이터 직렬화]

Avro

  • RPC (Remote Produce Call)와 데이터 직렬화 지원 프레임워크

 

[출처]
데이터과학 삼학년 블로그(https://dodonam.tistory.com/390)
비트코기의 IT Note 블로그(https://itpenote.tistory.com/503)
빅데이터가 '하둡'을 찾는 까닭 (용어로 보는 IT, 이지영)

건기원, 빅데이터 분석기사 필기

728x90
반응형