소프트웨어 아키텍처 - 11(MS-HDFS)

박승현·2023년 10월 8일
0

아키텍처

목록 보기
11/30
post-thumbnail

Master-Slave Hadoop Platform


Hadoop Distributed File System (HDFS)

  • HDFS는 Hadoop 애플리케이션에서 사용되는 주요 분산 저장 시스템
    • namenode는 파일 시스템의 메타데이터를 관리(서버)
    • datanode는 실제 데이터를 저장

HDFS Architecture

  • NameNode
    • 아키텍처의 중심 역할을 하는 마스터 노드
    • 파일 시스템의 메타 데이터를 관리, 파일 디렉토리 구조 및 파일의 소유자 권한 정보등을 포함
  • DataNode
    • 실제 데이터를 저장하고 관리하는 slave노드
    • 데이터 블록을 분산 저장하고 주기적으로 블록 복사본을 다른 DataNode로 복제하여 손실 방지
    • NameNode와 통신하여 파일 생성 삭제 복사 등을 처리
  • Blcok(데이터 블록)
    • 일정한 크기의 블록으로 분할하여 데이터를 저장
    • 각 데이터 블록은 여러 DataNode에 복제되어 손실을 방지함
  • Rack
    • 물리적 머신 그룹을 나타내는 개념
    • 데이터 복제는 랙 간의 데이터 복제와 랙 내 데이터 복제를 조절하여 안정성을 향상시킴

Hadoop Platform

  • 대규모의 노드와 데이터를 병렬로 처리하기 위한 소프트웨어 프레임워크
  • MapReduce레이어
    • 단일 ResourceManager : 클러스터 전체의 리소스를 관리
    • 클러스터 노드 당 하나의 Slave nodeManager : 각 클러스터 노드에서 실행, 해당 노드의 리소스 사용상태를 관리
    • 어플리케이션 당 하나의 MRAppMaster : 각 어플리케이션을 위해 실행되며 어플리케이션의 작업을 조정 및 관리

YARN

  • 리소스 관리와 작업 스케줄링 기능을 분리하는 아이디어를 기반으로한 소프트웨어 시스템
  • YARN은 전역 리소스 매니저와 어플리케이션별 ApplicationMaster(AM)로 구성 AM은 해당 어플리케이션의 작업 스케줄링과 리소스 할당을 관리

YARN 아키텍처

  • ResourceManager : 시스템 내에서 모든 어플리케이션 간에 리소스를 조정하는 궁극적인 권한을 가지며, 모든 어플리케이션에 할당되는 리소스를 관리
  • NodeManager : 각 머신에서 실행 컨테이너를 관리 해당 머신의 리소스 사용 상황을 관리 및 RM에게 보고
  • ApplicationMaster : RM에게 필요한 리소스를 얻고 NodeManager와 협력하여 작업을 실행
  • Container : 각 노드에 대한 자원의 정보를 저장 및 관리

Application Submission in YARN

Application Workflow in Hadoop YARN

profile
KMU SW

0개의 댓글