하둡 에코시스템

IT 위키

하둡 에코시스템(Hadoop Ecosystem)은 아파치 하둡을 중심으로 분산 저장과 분산 처리를 수행하는 다양한 오픈소스 도구들과 기술들을 아우르는 개념이다. 하둡은 단순한 분산 파일 시스템과 맵리듀스 처리 엔진에서 시작했지만, 그 위에 다양한 기능을 제공하는 도구들이 결합되며 하나의 데이터 처리 플랫폼으로 발전했다.

1 주요 구성 요소[편집 | 원본 편집]

하둡 에코시스템은 다음 네 가지 계층으로 구성된다:

1.1 1. 저장(Storage)[편집 | 원본 편집]

  • HDFS (Hadoop Distributed File System)** 하둡의 기본 분산 파일 시스템으로, 대용량 파일을 여러 노드에 분산 저장
  • Apache HBase
    • HDFS 위에 구축된 분산형 컬럼 기반 NoSQL 데이터베이스

===2. 자원 관리(Resource Management)===* YARN (Yet Another Resource Negotiator)

    • 클러스터 자원 관리 및 작업 스케줄링 담당
    • 다양한 처리 엔진(Hive, Spark, MapReduce 등)과 통합 가능

1.2 3. 처리 엔진(Processing Frameworks)[편집 | 원본 편집]

  • MapReduce** 초기 하둡의 기본 분산 처리 모델, 병렬 배치 처리에 적합
  • Apache Spark
    • 인메모리 기반 분산 처리 프레임워크, MapReduce보다 빠르고 유연함
  • Apache Tez**DAG 기반 고속 처리 엔진, Hive와 함께 사용됨
  • Apache Flink
    • 스트리밍 처리 특화 프레임워크

1.3 4. 상위 레벨 도구(High-Level Tools)[편집 | 원본 편집]

  • Apache Hive** SQL 유사 언어(HiveQL)로 하둡 데이터 처리
  • Apache Pig
    • 데이터 흐름 기반 처리 언어(Pig Latin)
  • Apache Sqoop
    • 관계형 DB와 하둡 간 대량 데이터 전송
  • Apache Flume** 로그 및 실시간 데이터 수집 도구
  • Apache Oozie
    • 워크플로우 기반 하둡 작업 스케줄링 도구

2 부가 구성 요소[편집 | 원본 편집]

  • Apache Zookeeper** 분산 환경에서의 동기화, 리더 선출, 설정 관리 등
  • Apache Ambari
    • 하둡 클러스터 설치, 관리, 모니터링 UI
  • Apache Knox
    • 하둡 에코시스템의 보안 게이트웨이 역할 수행
  • Apache Ranger
    • 세분화된 권한 제어 및 감사 로깅

3 구성도[편집 | 원본 편집]

                     ┌────────────────────────────┐
                     │        User Interface      │
                     │        (Hue, Zeppelin)     │
                     └────────────┬───────────────┘
                                  │
               ┌──────────────────▼────────────────────┐
               │       Processing / Compute Layer      │
               │  (MapReduce, Spark, Tez, Flink, Storm)│
               └──────────────────┬────────────────────┘
                                  │
               ┌──────────────────▼────────────────────┐
               │         Resource Management Layer     │
               │               (YARN, Mesos)           │
               └──────────────────┬────────────────────┘
                                  │
               ┌──────────────────▼────────────────────┐
               │        Storage Layer (HDFS, HBase)    │
               │   + External: S3, Cassandra, Alluxio  │
               └──────────────────┬────────────────────┘
                                  │
               ┌──────────────────▼────────────────────┐
               │        Data Ingestion / ETL Layer     │
               │   (Flume, Sqoop, Kafka, NiFi, Oozie)  │
               └──────────────────┬────────────────────┘
                                  │
               ┌──────────────────▼────────────────────┐
               │      Metadata / Coordination Layer    │
               │      (ZooKeeper, Atlas, Ranger)       │
               └───────────────────────────────────────┘

4 특징[편집 | 원본 편집]

  • 대규모 데이터 저장 및 분석을 위한 확장 가능한 아키텍처
  • 다양한 데이터 유형(정형/비정형)과 처리 방식(배치/스트리밍)에 대응
  • 오픈소스 기반 → 기업 환경에 맞게 커스터마이징 가능

5 활용 분야[편집 | 원본 편집]

  • 로그 분석, 클릭스트림 분석
  • 머신러닝 파이프라인 구축
  • 데이터 웨어하우징
  • IoT 및 센서 데이터 수집 및 처리

6 같이 보기[편집 | 원본 편집]

7 참고 문헌[편집 | 원본 편집]

  • Tom White, "Hadoop: The Definitive Guide", O'Reilly
  • The Apache Software Foundation: https://hadoop.apache.org/
  • Cloudera, Hortonworks, MapR 등 하둡 배포판 문서