Hadoop Ecosystem

YU NA Joe·2022년 2월 9일
0

DATA 저장

Hadoop HDFS(Hadoop Distributed File System)

block구조(Hadoop1: 64 Mb, Hadoop2: 128Mb) 의 File stroage
수십 Tb, Pb 이상의 대용량 데이터를 black 단위로 각 노드에 분산 저장
한 번 저장한 Data 수정 불가, 읽기만 가능 -> Data무결성 보장
저사양 서버 여러대로 Storage 구성 가능 -> 비용 절감

Hbase

HDFS 기반의 Column database(NoSQL)
-> HDFS 특징 적용
Column단위로 저장, 압축, 메모리 작업 가능
스키만 변경 없이 자유롭게 데이터 저장/Column추가
RandomAcess 성능 우수

Kudu

hadoop platform 환경의 column 기반 Storage
HDFS와는 다르게 Update, Delete, Upset 가능
Apache implala와 연계하여 복잡 Query 지원
순차, Random Access 둘다 강한 강점

DATA 수집

Sqoop


출처: https://dataguyin.medium.com/apache-sqoop-sql-to-hadoop-3223446ae8c4

CLI(Command Line Interface)로 RDBMS <-> HDFS 사이에 자유롭게 데이터를 이관하는 Ecosystem (SQL- to - Hadoop)
RDBMS Databases, Table, Query 조회 결과에 따라 HDFS로 데이터 이관
JDBC 연결 가능한 Database면 sqoopd 사용 가능

Flume

다양한 로그 데이터 수집 및 모니터링이 가능한 Ecosystem
실시간 전송 지원
로그 유실에 대한 신뢰 수준을 상황에 맞게 변경
장애 발생 시 다양한 복구 메커니즘 제공

Kafka

분산형 스트리밍 Platform(Messaging Queue) Ecosystem
실시간 스트리밍 Data파이프라인 / 어플리케이션 구축
Message -> File System -> 데이터 유실 방지(Zookeeper)를 통해 관리
클러스터 모드, Partition 기능으로 확장성 및 Fault Tolerance 기능제공
Message Queue 정보 관리하는 Zookeeper필수

DATA 처리

MapReduce

Hadoop의 기본 Data처리 Framework(병렬 분산 알고리즘)
대용량 Data 배치 처리에 특화
Map: Data 묶음(집합) + Reduce: Data 집계(중복 제거) - > Data처리

Hive

HDFS에 적재된 File을 SQL 형식으로 처리하는 Ecosystem
RDBMS Query와 매우 유사
정형, 반정형 데이터 -> Table 형태로 조회
기본 실행 Engine은 Mapreduce. 목적에 따라 EngineSpark(Spark, Tez) 변경

Spark

빅데이터 처리를 위한 In-Memory기반 병렬 분산 처리 Platform
읽기, 쓰기, 변형, 합계 등 복자한 통계 모델 제공
Java, Scala, Python, R, SQL 등 많은 System과 연계 가능
최근 Machine Learhing에도 많이 사용

기타

Zookeeper

분산 환경에서 필욯나 동기화, Group Service를 관리하는 Ecosystem(분산 Coordinator)
Server사이 동기화를 통해 Data 안정성 보장
Namenode/Resource Manager(Failover Controller)이중화
Hbase(Clutser 관리), Kafka(Queue 관리) 사용시 Zookper 반드시 필요
고가용성을 위해 홀수개의 Zookper 설치 권장(Defult =3 )

Oozie

Data 파이프라인을 정의하는 Workflow와 Workflow주기를 설정하는 scheduler(Coordinator, Bundle)를 가진 Ecosystem
WorkFlow, Coordinator, Bundle로 구성
Ecosystem Job(Mapreduce, Hive 등), Java, SSH 등을 Oozie로 구성 -> 배치 작업 수행

0개의 댓글