1. Hadoop이란?
- Hadoop은 하나의 성능 좋은 컴퓨터를 이용하여 데이터를 처리하는 대신 적당한 성능의 범용 컴퓨터 여러대를 클러스터화하여 큰 크기의 데이터를 클러스터에서 병렬로 동시에 처리하여 처리 속도를 높이는 것을 목적으로 하는 분산처리를 위한 오픈소스 프레임워크
2. Hadoop의 구성요소
1) Hadoop Common
- 하둡의 다른 모듈을 지원하기 위한 공통 컴포넌트 모듈
2) Hadoop HDFS
- 분산저장을 처리하기 위한 모듈
- 여러개의 서버를 하나의 서버처럼 묶어서 데이터를 저장
3) Hadoop YARN
- 병렬처리를 위한 클러스터 자원관리 및 스케쥴링 담당
4) Hadoop Mapreduce
- 분산되어 저장된 데이터를 병렬 처리 할 수 있게 해주는 분산 처리 모듈
3. Hadoop의 장단점
1) 장점
- 오픈소스로 라이선스에 대한 비용 부담이 적음(공짜)
- 서비스를 중단하지 않고, 장비의 추가가 용이함(Scale Out)
- 일부 장비에 장애가 발생하더라도 전체 시스템 사용성에 영향이 적음(Fault tolerance)
- 저렴한 구축 비용과 비용대비 빠른 데이터 처리
- 오프라인 배치 프로세싱에 최적화 (<-> 실시간 처리와 반대되는 이야기임)
2) 단점
- 저장된 데이터를 중간에 변경이 불가능함
- 실시간 데이터 분석과 같이 신속하게 처리해야하는 작업에는 부적합(Hadoop은 배치처리)
- 너무 많은 버전과 부실한 서포트(Linux와 동일한 케이스)
- 설정의 어려움
4. Hadoop v1 ~ v3
1) Hadoop v1
- 분산저장, 병렬처리 프레임워크를 정의
- 분산저장(HDFS) > 네임노드, 데이터 노드가 처리
- 병렬처리(MapReduce) > wkqxmfozj, xptmxm xmfozjrk cjfl
- 클러스터당 최대 4000개의 노드를 등록
- 작업 처리를 슬롯(slot) 단위로 처리
2) Hadoop v2
- 2012년 정식 발표된 Hadoop v2는 병목현상을 제거하기 위해 Yarn 아키텍처 도입
- 클러스터 관리 > 리소스 매니저, 노드 매니저
3) Hadoop v3
- 이레이져 코딩 도입 > 기존의 블록 복제를 대체하는 방식으로 HDFS 사용량 감소
- YARN 타임라인 서비스 v2에 도입
- java 8 지원
- 네이티브 코드 최적화
- Ozone 추가