<aside>
💡 (Apache) Hadoop : High-Availability Distributed Object-Oriented Platform의 약자로 대용량 데이터를 분산처리할 수 있는 Java 기반 프레임워크이다.
</aside>
Source : https://velog.io/@shinychan95/0323-2-Hadoop-Ecosystem
- Apache(아파치) 재단에서 관리하는 프리웨어인 Hadoop Project에서 만들어지는 모든 소프트웨어 솔루션들의 집합을 얘기한다.
- Hadoop은 HDFS라는 파일처리 시스템과 YARN이라는 리소스 관리 시스템, MapReduce라는 대용량 처리 시스템을 기반으로 하는 프레임워크이다.
- 대용량 데이터를 효과적으로 처리하는 것을 목적으로 하는 많은 소프트웨어들이 함께 있는 플랫폼이라고 볼 수 있다.
HDFS (Hadoop Distributed File System)
Source : https://hadoop.apache.org/docs/r1.2.1/hdfs_design.html
- Hadoop에서 관리하는 모든 데이터를 저장/관리하는 시스템 (스토리지 관리)
Namenode
와 Datanode
로 데이터를 분산관리한다.
node
: 컴퓨터 한 대
rack
: Node 여러 대를 물리적으로 묶어놓은 것. 같은 네트워크 스위치를 공유한다.
cluster
: 여러 rack을 물리적으로 묶은 것.
- Namenode는 실제 데이터가 어떤 Datanode에 저장되어 있는지를 관리하는 메타데이터를 관리하는 노드이다.
- Datanode엔 실제 데이터가 분산 저장된다. (replica들이 존재함)
YARN (Yet Another Resource Negotiator)
- Hadoop에서 처리되는 모든 리소스를 관리해주는 시스템.
- 어떤 요청이 어떤 클러스터에 할당되어야 하는지 관리한다.
Resource Manager
와 Node Manager
가 리소르를 관리한다.
- Resource Manager는 각 Node Manager가 각 Node의 리소스를 얼마나 사용하는지를 관리한다.