오늘의 인기 글
최근 글
최근 댓글
Today
Total
05-08 04:42
관리 메뉴

우노

[Hadoop] HDFS, MapReduce, YARN 개념 본문

Data/Hadoop

[Hadoop] HDFS, MapReduce, YARN 개념

운호(Noah) 2021. 6. 3. 17:26

Hadoop 구성 요소

  • Hadoop은 다음 세 가지로 구성됩니다.
    • 노드 클러스터에 광범위한 데이터를 저장하기위한 HDFS 파일 시스템
    • 분산 계산을 위해 개발 된 MapReduce 프레임 워크
    • 요청 된 작업에 사용 가능한 리소스를 할당하기위한 YARN

HDFS

  • 위 그림은, HDFS의 구조를 나타냅니다.

  • HDFS는 하둡 분산 파일 시스템의 약자로써, 대규모 데이터를 클러스터 내에 분산 저장하는 시스템입니다.

  • 전체 데이터는 128MB 씩 분할 되어, 하나의 블록 내에 저장되며, 하나의 블록은 3개씩 다른 노드에 복제됩니다.

    • 이 값은 기본값이며 변경할 수 있습니다.
  • 따라서, 하나 이상의 노드가 서비스를 중단하면, 다른 노드에 저장된 데이터 복사본으로 부터 데이터를 가져올 수 있습니다.

  • HDFS는 클러스터 내부의 모든 노드들이 공유하는 파일 시스템이며, 각 노드 내에서 HDFS 디렉토리를 볼 수 있습니다.

    • 각 노드의 로컬 파일 시스템과 HDFS 는 물리적으로 다른 위치에 있습니다.
  • 또한, HDFS 는 메타데이터(클러스터 전체의 블록 위치, 파일과 폴더의 위치, etc )를 관리하는 전용 머신 인 Namenode 와 데이터 블록이 들어있는 Datanode 로 구성됩니다

  • 하지만, Namenode 가 다운되면 전체 Hadoop 시스템이 다운됩니다.

  • 따라서, 이 문제를 극복하기 위해 Hadoop은 아래 그림과 같은 구조로 발전했습니다.

    • 두 개의 Namenode(Active Namenode, Standby Namenode)를 통해 Datanode와 통신하고 공유 폴더에 편집 로그를 저장합니다.
    • 이름에서 알 수 있듯이 Active Namenode가 중단 될 때마다, Standby Namenode가 활성화되기 때문에, 서비스 중단이 발생하지 않습니다.

MapReduce

  • 위 그림은, MapReduce 흐름이며
  • 첫 번째로, HDFS 의 각 노드들에 있는 Data Block 이 Mapper 에 할당됩니다.
  • 두 번째로, 계산 된 중간 결과가 Shuffle 됩니다.
    • 계산은 관련 Data Block 이 있는 노드에서 이루어지며, 이는 데이터 지역성이라고 불립니다.
      • 각 Data Block 이 저장된 노드의 로컬 리소스를 활용하여 계산을 실행하면,
      • 계산을 위해 노드간에 데이터를 이동할 필요가 없게 됩니다.
  • 세 번째로, Suffle 된 데이터를 Reducer에게 전달해 마지막 계산을 진행합니다.
  • 마지막으로, 계산 된 결과가 HDFS에 저장됩니다.

YARN

  • YARN은 "Yet Another Resource Negotiator"의 약자이며,
  • Storage(HDFS)와 Application(MapReduce) 간의 자원을 조절해주는 역할을 합니다.

'Data > Hadoop' 카테고리의 다른 글

[Hadoop] hdfs 명령어 정리  (0) 2021.08.24
Comments