1. Hadoop Common Module
- 라이브러리
- 다른 모듈에 의하여 필요로 하는 유틸리티
즉, 다른 Hadoop 모듈들을 지원하는 공용 유틸리티
2. HDFS(Hadoop Distributed File System)
- 하둡 시스템 내의 data들은 HDFS 안에 여러가지 유기적, 조직적인 block 형태로 움직인다.
- 그 유기적인 blocks 들은 투명하게 복제되어 흩어진다.
- HDFS는 intelligent 복제 메커니즘을 갖고 있는데, 이는 데이터를 복수의 racks 형태로 구성된 node들에 옮겨진다.
- Master-Slave 구조로 Master = NameNode, Slave = DataNode로 구성된다.
여기서 NameNode는 파일시스템 namespace를 관리하고 namespace image와 edit log 두 가지 형태의 파일을 지속적으로 저장한다.
DataNode는 디스크로부터 block을 읽는 역할을 한다.
3. Map /Reduce : Distributed Data Processing Frameworks.
- 데이터 처리에 있어서 분산처리 모델을 따름.
- Map은 원시 데이터를 받아 data chunk라는 Input data를 key와 value 쌍으로 변환하고, HDFS에 저장을 한다.
- Reduce는 data chunk 혹은 data set을 아주 작은 단위의 tuple set으로 다시 합친다.
3가지 연산관계를 진행하는데
Map phase => Shuffle Phase => Reduce phase
Map phase : 입력데이터는 row data를 key/value로 전환.
Shuffle Phase : row data들의 정렬된 키를 기준으로 정렬이 되면서, 같은 key 값의 value들을 동일한 Reducer로 이동 시킴
Reduce phase : 모든 key값을 위한 value들을 처리. 종종 이 결과 값들을 HDFS 혹은 다른 영구 저장소에 다시 저장.
4. YARN module
- 최근 새로 추가된 모델.
- 시스템 자원의 관리자이며 스케줄러이다.