Hadoop이란?
단일 소프퉤어가 아니라 분산 시스템을 구성하는 다수의 소프트웨어로 이루어진 집합체. 대규모 분산 시스템을 구축하기 위한 공통 플랫폼의 역할
분산 시스템의 구성요소
- 분산파일 시스템 ex)HDFS
- 리소스 관리자 ex)YARN
- 분산 데이터 처리 ex)MapReduce
컴포넌트
프로젝트 | 설명 | 용도 | 의존관계 |
---|---|---|---|
Zookeeper | 분산설정 서비스 | 분산프로세스와 분산 잠금 사이의 메타데이터 공유 | 없음 |
HDFS | 분산 파일 스토리지 | 불변 데이터를 위한 확장성있는 스토리지 | 주키퍼 |
Yarn | 분산 리소스 스케줄링 및 실행 프레임워크 CPU나 메모리 등의 계산 리소스 관리 | 확장성 있는 분산 컴퓨팅 자원을 필요로 하는 프레임워크 | 주키퍼, HDFS |
Mesos | 분산 리소스 관리자 | Yarn보다 엄격한 리소스 제어 linux컨테이너가 사용됨 | Dcoker(이미지를 사용하여 프로그램 실행) |
MapReduce | 범용 분산 연산 프레임워크 | 배치 연산 작업 비구조 데이터를 가공하는데 적합 | 얀, HDFS |
Spark | 범용 분산 연산 프레임워크 | 배치, 분석 SQL, 스트리밍 작업 | 자원 스케줄러(얀 또는 메소스 및 데이터소스(HDFS, 쿠두 등)) |
Hive | SQL 기반 분석 쿼리 프레임워크 데이터양에 좌우되지 않음 | 분석 SQL 작업 | 얀, 데이터소스(HDFS, 쿠드 등) |
임팔라 | SQL 기반 대규모 병렬 처리 분석 엔진 | 분석 및 대화형 SQL 작업 | 데이터소스(HDFS, 쿠두, HBase) |
Presto | SQL 쿼리 엔진 속도 중시&대화식에 특화 | 대량 출력을 수반하는 대규 데이터 처리에 적합, 대화형 데이터 처리에는 적합하지 않음 열 지향 데이터 구조에 적합, ORC형식의 로드에 최적화 | - |
HBase | 위계 구조를 가진 키-값 데이터 분산/정렬 스토어 | 정형키(structured key)를 가진 로우 기반 데이터에 대한 고속 랜덤 읽기/쓰기 | HDFS, 주키퍼 |
쿠두 | 정형 데이터용 분산데이터 | 랜덤 읽기/쓰기 및 분석 작업 | 없음 |
솔라 | 엔터프라이즈 검색 프레임워크 | 확장성 있는 도큐먼트 인덱싱 및 임의 필드 쿼리 | HDFS, 주키퍼 |
카프카 | 분산 발행/ 구독 메시징 프레임워크 | 스트리밍 데이터의 확장성 있는 발행/구독 | 주키퍼 |
우지 | 워크플로우 스케줄러 | 데이터의 프로세싱 파이프라인의 주기적 또는 실시간 실행 | 없음 |
출처 및 참고자료
⌜빅데이터를 지탱하는 기술⌟ ⌜엔터프라이즈 데이터플랫폼 구축⌟