데이터에 대해 아무것도 모르는데 데이터 분석 요청 업무가 들어왔습니다.
주변에 자문을 구하더라도 개요에 대해서는 알아야 하므로 Hadoop 에코시스템에 대해 알아보았습니다.
시작~
Hadoop
등장배경
> 데이터 급증 & 큰 데이터를 효과적으로 병렬처리하는 구조를 가진 프레임워크가 필요했음
특징
> 각 데이터에 대해 복제본을 생성한 후 안전하게 보관함 => HDFS
> 큰 데이터를 나눠서 작업한 후 그 결과물을 합쳐줌 => MapReduce
> 클러스터가 scalable해서 컴퓨터를 추가하거나 제거하여 자원을 유연하게 조절할 수 있음
HDFS (Hadoop Distributed File System)
> 하둡 클러스터에서 사용되는 저장소
> 여러 서비스들이 이 저장소를 통해 파일을 공유할 수 있음
> 일부 서버가 문제가 생기더라도 데이터가 유실되지 않는 구조임
YARN (Yet Another Resource Negotiator)
> 하둡 클러스터의 자원 관리와 작업 스케줄링 및 모니터링을 해줌
MapReduce
> 대용량 데이터를 분산하여 병렬로 처리할 수 있는 프레임워크임
> 일부에서 실패하더라도 다른 서버에서 실패한 작업을 수행해줌
하둡 에코시스템
> 코어프로젝트(HDFS, YARN, MapReduce) 뿐 아니라 다양한 서브프로젝트들이 유기적으로 결합될 수 있고 이를 하둡 에코시스템이라고 부름
이 중 몇가지 프레임워크를 알아보자
Spark
> MapReduce와 유사하게 대용량 데이터를 처리할 수 있는 컴퓨팅 프레임워크
> 중간결과물을 실행되는 서버의 파일시스템에 저장하는 MapReduce와 달리, 중간 결과물을 메모리에 저장하여 속도를 높힘
> 파이썬, 스칼라, 자바 등 다양한 언어를 지원함
Oozie
> 하둡 작업들을 연계해주는 스케줄링 프레임워크
Hive
> SQL과 유사한 인터페이스로 HDFS에 저장된 데이터를 분석해주는 데이터 웨어하우스 프레임워크
Zookeeper
> 분산 서버들 사이의 설정값과 상태를 공유 및 동기화해주는 코디네이션 시스템
Kafka
> 대용량 이벤트를 실시간으로 스트리밍해주는 메세지 프레임워크
HBase
> 하둡에서 사용되는 컬럼기반 분산 데이터베이스
'츄Log > 끄적끄적' 카테고리의 다른 글
Hadoop 에코시스템 먹방 -3. MapReduce (0) | 2024.06.11 |
---|---|
Hadoop 에코시스템 먹방 -2. HDFS (0) | 2024.06.11 |
CompletableFuture runAsync/supplyAsync/get (0) | 2024.03.02 |
CompletableFuture 코드 리뷰 기록 (0) | 2024.02.10 |
샤딩, 분산 데이터 스토리지에 대하여 (1) | 2024.01.05 |