[ Data ] Apach Hadoop

6eom9eun·2024년 4월 1일

Data

목록 보기
2/4

Apach Hadoop

  • Reliable Scalable하게 분산처리를 하기 위한 오픈소스 소프트웨어이다.
  • Map-Reduce라는 데이터 처리 모델을 사용함으로써 여러 대의 컴퓨터를 통해 손쉽게 대규모 데이터를 처리한다.
  • 분산 파일 시스템인 HDFS에 데이터를 저장하여 처리한다. (이런 방식은 Disk I/O에 의해 성능 저하를 유발하며, 추후에 In-memory 기반의 spark가 등장)

Hadoop에서 수행하는 역할은 크게 HDFS에 파일을 저장하는 역할과 데이터를 처리하는 역할로 나누어진다.

MapReduce : MapReduce를 수행하기 위한 Layer

  • Job Tracker : 사용자로부터 Job을 요청받고 Task Tracker에 작업 할당
  • Task Tracker : Job Tracker로부터 할당 받은 작업을 Map-Reduce하여 결과 반환.

HDFS : 파일을 저장하기 위한 Layer

  • Namenode : 작업을 해야하는 파일을 block으로 나누어 datanode에 전달
  • datanode : 전달받은 파일의 읽기/쓰기 등을 실제로 수행

Hadoop은 기본적으로 Master-Slave 구조를 지니며, Master 노드는 1대의 노드로 구성된다.

  • Master Node : 분산 파일 시스템에 대한 정보들을 지니고 있으며, 자원 할당을 조절한다. Master Node는 2가지 Daemon을 통해 이를 처리한다.
    • Namenode : 분산 파일 시스템을 관리하고, 어떤 Data block이 클러스터에 저장되어 있는지 알려준다.
    • Resource manager : 스케줄링 및 slave node의 처리를 실행한다.
  • Slave node : 실제 데이터를 가지고 있으며, job을 수행하는데 datanode와 node manager를 통해 이를 처리한다.
    • Datanode : Namenode에 물리적으로 저장된 실제 데이터를 관리한다.
    • Node manager : 노드의 task를 실행한다.
profile
Dev learnnnnnN.......

0개의 댓글