Hadoop EcoSystem
분산 시스템을 구성하는 다수의 소프트웨어들을 모은 공통 플랫폼
Yarn상에서 복수의 분산 애플리케이션이 동작
HDFS
분산 파일 시스템
- Hadoop에서 처리되는 데이터는 대부분 HDFS에 저장
- 데이터가 분산되어 중복적으로 여러 컴퓨터에 저장
YARN
리소스 매니저
- CPU, 메모리등의 계산 리소스를 계산
- CPU 코어와 메모리를 container 단위로 관리
- 클러스터 부하 모니터링
- 비어있는 호스트로부터 애플리케이션에 컨테이너를 할당
- 실행의 우선순위 지정
분산데이터처리
1. MapReduce
2. Hive
- 방대한 양의 데이터를 HiveQL로 다룰수 있게 도와주는 시스템
- 쿼리 언어로 데이터 집계(HiveQL)
- Hadoop과 연동되는 파일 시스템이라면 거의 다 이용가능
- 기존의 Pig를 대체해서 더 쉽게 사용가능
- 쿼리를 자동으로 MapReduce 프로그램으로 변환하는 소프트웨어
- 배치 처리에 적합
- Hive에서 나온 테이블의 정보(MetaData)는 Hive Meta Store에 저장
3. Tez
Spark
분산 컴퓨팅 프레임워크
- Hadoop과 마찬가지로 표준으로 사용되는 프레임워크 Spark
- Hadoop Yarn, Mesos, Kubernetes와 같은 여러 클러스터 시스템과 결합되어 자원을 동적으로 할당 가능
- Hadoop MapReduce와 기능이 거의 동일하지만 Spark가 효율성이 더 좋음
- Spark를 사용하면 분산 컴퓨팅이 필요한 애플리케이션을 MapReduce를 사용하는 것보다 훨씬 효율적으로 개발 가능