특징
- 분산 구조: 여러개의 서버, 일반 PC 등을 모아 분산된 파일시스템 및 분석 시스템 형성 가능
- 공개 소프트웨어: 무료로 자유롭게, 필요한 경우 변형하여 사용 가능
- 결함 허용 및 확장성: 성능 증강이 필요하면 노드를 쉽게 추가 가능, 일부 노드가 죽어도 정상 동작
구조
- 크게 맵리듀스와 하둡 분산 파일 시스템(HDFS)으로 나눌 수 있다.
하둡 분산 파일 시스템
- Hadoop Distributed File System
- 네임노드(Namenode): 마스터 노드
- 데이터노드(Datanode): 슬레이브 노드
맵리듀스
- MapReduce
- 잡 트래커
- 태스크 트래커
하둡 에코시스템
- 하둡 코어 프로젝트(HDFS, 맵리듀스)와 하둡 서브 프로젝트(수집, 분석, 마이닝 등)로 구성
Zookeeper(주키퍼)
Oozie(우지)
Avro(에이브로)
Parquet(파케이)
Flume(플룸)
Sqoop(스쿱)
Pig(피그)
Crunch(크런치)
HBase
- HDFS를 보다 효율적으로 사용하기 위한 시스템
- 구조화된 대용량의 데이터에 빠른 임의 접근을 제공(Latency 감소)
- HDFS의 데이터에 대한 실시간 읽기/쓰기 기능 제공
Hive(하이브)
Impala
Tajo(타조)
- 오픈소스 기반 분산 컴퓨터 플랫폼인 아파치 하둡(Apache Hadoop) 기반의 분산 데이터 웨어하우스 프로젝트로 대규모 데이터 처리와 실시간 상호 분석에 모두 사용 가능함.
하둡 배포판
- 아파치 하둡
- 클라우데라 하둡(CDH)
- 호튼웍스 하둡
- 앱알(MAPR) 하둡
한계
- 실시간 데이터 처리에는 비효율적
- 비동기적 데이터 처리에 비효율적
- 반복 작업이 많은 경우에는 비효율적