![article thumbnail image](https://blog.kakaocdn.net/dn/buP5tf/btrX7YpMiD9/CBYltwQNj0qTRX7C5EMtk1/img.jpg)
하둡 에코 시스템에 대해서 공부한 내용을 정리해보려고 한다.
하둡 에코 시스템(Hadoop Eco System) 이란
기본적으로 하둡은 HDFS 와 MapReduce, YARN 으로 구성되어있다. 하지만 그 외의 다양한 서브 프로젝트들이 많이 있다.
하둡 에코 시스템은 이러한 서브 프로젝트들의 모임이라고 생각하면 된다.
하둡 에코 시스템에 대한 설명으로 가장 많이 보이는 사진이 있다.
사진을 보면 다음과 같은 에코 시스템이 있는 것을 확인할 수 있었다. 위의 사진에 나오는
사진에서 보이는 여러 서브 프로젝트들이 무엇이고 어떻게 사용되는지에 대해서 정리해보려고 한다.
Flume
대용량의 로그를 수집할 수 있도록 여러가지 기능을 제공하는 프로그램이다.
Flume 말고도 chukwa, scribe, fleuntd, splunk 와 같은 여러 로그 수집 프로그램이 있다.
https://hmariya.tistory.com/93
Flume (플룸) 이란?
Apache의 오픈소스 프로젝트로 대용량의 로그를 수집할 수 있도록 여러가지 기능을 제공하는 프로그램[[로그 수집 프로그램 ]]flume, chukwa, scribe, fluentd, splunk 1. flume의 구성요소- source : 데이터가 유
hmariya.tistory.com
Sqoop
Sqoop 은 일반적으로 RDBMS 와 HDFS 간의 데이터를 전송하기 위한 도구라고 한다.
HDFS 을 기준으로 import 하거나 export 할 수 있는 기능을 제공하고 있고 MapReduce 방식으로 동작한다.
https://buildabetterworld.tistory.com/169
[Sqoop] Sqoop-Intro
[Apache Sqoop이란 무엇인가] GitHub - apache/sqoop: Mirror of Apache Sqoop Mirror of Apache Sqoop. Contribute to apache/sqoop development by creating an account on GitHub. github.com BigData Ingesion에서 대표적으로 사용하는 툴 중에 Apach
buildabetterworld.tistory.com
Zookeeper
분산 환경에서 서버들 간의 상호 조정이 필요한 다양한 서비스를 제공하는 시스템이다.
하나의 서버에만 집중되지 않도록 서비스를 알맞게 분산하여 동시에 처리할 수 있게 해준다.
하나의 서버에서 처리한 결과를 다른 서버와 동기화 함으로 데이터 안정성을 보장해준다.
분산 코디네이터 Zookeeper(주키퍼) 소개
ZooKeeper란 무엇인가?조대협 (http://bcho.tistory.com) 소개 분산 시스템을 설계 하다보면, 가장 문제점 중의 하나가 분산된 시스템간의 정보를 어떻게 공유할것이고, 클러스터에 있는 서버들의 상태를
bcho.tistory.com
Oozie
하둡의 작업을 관리하기 위한 서버 기반의 워크플로우 스케줄링 시스템이다.
자바 기반의 웹 애플리케이션으로 자바 서블릿 컨테이너에서 수행되는 서버 기반의 워크플로우 엔진이라고 보면 된다.
jar 파일로 Workflow 를 생성해 Coordinator 를 만들어 스케줄링을 생성할 수 있다.
https://kerpect.tistory.com/75
[BIGDATA Platform] 스케줄링 시스템 : 우지(Oozie)
우지(Oozie) 란? : 하둡의 잡(job)을 관리하기 위한 서버 기반의 워크플로 스케줄링 시스템입니다. 자바 기반의 웹 애플리케이션으로서 Java servlet-container에서 수행되는 서버 기반의 워크플로 엔진으
kerpect.tistory.com
Apache Pig
하둡을 기반으로 동자하는 병렬로 데이터를 처리하는 엔진이다.
데이터를 처리하기 위해 MapReduce 와 같은 언어 기반으로 프로그래밍을 하지 않고 Pig Latin 이라는 스크립트 언어를 기반으로 데이터를 다루는 특징을 가지고 있다.
https://mangastorytelling.tistory.com/entry/PAVAN-KUMAR-BHIMAVARAPU-Apache-Pig-아파치-피그
[PAVAN KUMAR BHIMAVARAPU] Apache Pig - 아파치 피그
Apache pig from PAVAN KUMAR BHIMAVARAPU ■ Apache Pig란? - Hadoop을 구성하는 하부 프로젝트 중 하나로 MapReduce에 특화된 개발 툴 - 대용량 데이터 셋을 좀 더 고차원 적으로 처리하는 플렛폼 - 대규모 병렬 처
mangastorytelling.tistory.com
Apache Mahout
머하웃이라는 단어는 코끼리 조련사라는 뜻을 가지고 있다.
아파치 머하웃은 협력 필터링, 클러스터링, 분류에 초점을 맞춘 분산 처리 및 확장이 가능한 기계 학습 알고리즘의 자유 구현을 만들기 위한 프로젝트라고 한다.
기계 학습을 위한 프로그램이라고 보면 될 것 같다.
아파치 머하웃(Apache Mahout) :: JDM's Blog
아파치 머하웃(Apache Mahout)이라는 프로젝트를 최근에 알게 됐습니다. 실제 개발이 시작된건 2011년처럼 보이는데 2015년 4월 11일 0.10.0 버전이 릴리즈 됐습니다. [출처] https://mahout.apache.org/ 머하웃?(M
jdm.kr
Hive
하이브란 데이터를 모델링하고 프로세싱하는 경우 가장 많이 사용하는 데이터 웨어하우징용 솔루션이라고 한다.
RDB 의 데이터베이스, 테이블과 같은 형태로 HDFS 에 저장된 데이터의 구조를 정의하고 이 데이털을 대상으로 SQL 과 유사한 HiveQL 문법을 사용해서 데이터를 처리할 수 있다.
1-하이브란?
하이브는 하둡 에코시스템 중에서 데이터를 모델링하고 프로세싱하는 경우 가장 많이 사용하는 **데이터 웨어하우징용 솔루션**입니다. RDB의 데이터베이스, 테이블과 같은 형태로…
wikidocs.net
YARN
YARN 은 하둡 2.0 버전에서 도입한 클러스터 리소스 관리 및 애플리케이션의 라이프 사이클을 관리하기 위한 아키텍처이다.
리소스 매니저와 노드 매니저를 통해 자원을 관리하고 애플리케이션 마스터와 컨테이너가 애플리케이션의 라이프 사이클을 관리하도록 되어있다.
4-YARN
YARN(Yet Another Resource Negotiator)은 하둡2에서 도입한 클러스터 리소스 관리 및 애플리케이션 라이프 사이클 관리를 위한 아키텍처 입니다. # …
wikidocs.net
HDFS (Hadoop Distributed File System)
하둡 분산 파일 시스템으로 데이터의 분산 처리를 하기 위한 파일 시스템이다.
주로 Name Node 와 여러 대의 Data Node 로 구성되어 데이터를 분산해서 저장하고 읽어올 수 있는 기능을 해준다.
자세한 내용은 아래의 글에서 정리해두었다.
https://jaynamm.tistory.com/entry/HDFSHadoop-Distributed-File-System-이해하기
HDFS(Hadoop Distributed File System) 이해하기
HDFS 에 대해서 찾아보며 공부한 내용을 정리해보려고 한다. HDFS(Hadoop Distributed File System) 옛날에는 한 대의 컴퓨터에 많은 데이터를 저장했고 큰 작업들을 수행했다. 하지만 데이터의 양이 점점
jaynamm.tistory.com
HBase
HDFS 에 만들어진 분산 컬럼 기반의 데이터베이스라고 한다.
구조화된 대용량의 데이터에 빠르게 임의접근을 제공하는 구글의 빅 테이블과 비슷한 데이터 모델을 가지고 있고
HBase 를 통해 HDFS 데이터에 대한 실시간 읽기 및 쓰기 기능을 제공한다고 한다.
https://cyberx.tistory.com/164
HBase 개념 정리
HBASE 란? 1.1 HBase 소개 Hadoop의 HDFS위에 만들어진 분산 컬럼 기반의 데이터베이스 입니다. 구조화된 대용량의 데이터에 빠른 임의접근을 제공하는 구글의 빅 테이블과 비슷한 데이터 모델을 가지
cyberx.tistory.com
이 외에도 다양한 에코시스템이 있기 때문에 원하는 목적에 맞게 필요한 에코시스템을 사용한다면
하둡을 보다 편리하고 효율적으로 사용할 수 있지 않을까 생각한다.
'데이터 엔지니어링 > Hadoop' 카테고리의 다른 글
HDFS 블록(Block) 이해하기 (0) | 2023.03.29 |
---|---|
HDFS HA 구성 이해하기(2) (0) | 2023.03.29 |
HDFS HA 구성 이해하기(1) (0) | 2023.03.29 |
HDFS(Hadoop Distributed File System) 이해하기 (0) | 2023.02.05 |
하둡(Hadoop) 에 대해서 (0) | 2023.02.05 |