Master Node, Slave Node

HanJu Han·2024년 9월 21일

하둡(Hadoop)에서는 클러스터를 운영할 때 마스터 노드(Master Node)슬레이브 노드(Slave Node)라는 개념이 있습니다. 이는 하둡 클러스터에서 역할을 분담하기 위한 중요한 개념입니다. 각각의 노드들은 서로 다른 작업을 수행하며, 전체 시스템이 효율적으로 동작할 수 있도록 돕습니다.

1. 마스터 노드 (Master Node)

마스터 노드는 클러스터의 중앙 관리 역할을 하며, 클러스터 내의 다른 노드들을 제어하고 관리하는 중요한 노드입니다. 하둡의 주요 마스터 컴포넌트들이 마스터 노드에 설치됩니다.

주요 역할:

  • NameNode:
    • HDFS의 마스터 역할을 합니다. 파일 시스템의 메타데이터를 관리하고, 클라이언트가 데이터를 저장하거나 읽을 때 어떤 DataNode에서 데이터를 가져와야 하는지 정보를 제공합니다.
  • ResourceManager:
    • YARN의 핵심 마스터 컴포넌트로, 클러스터의 리소스를 관리하고 작업 스케줄링을 담당합니다. 각 응용 프로그램이 요청하는 자원에 대해 적절한 노드에 할당을 관리합니다.

마스터 노드에 설치되는 주요 서비스:

  • HDFS의 NameNode (파일 시스템 관리)
  • YARN의 ResourceManager (작업 스케줄링 및 리소스 관리)
  • Secondary NameNode (NameNode의 메타데이터 관리 보조)
  • JobHistory Server (맵리듀스 작업의 기록 관리)

2. 슬레이브 노드 (Slave Node)

슬레이브 노드는 클러스터에서 실제 데이터를 저장하고 계산 작업을 수행하는 노드들입니다. 클러스터에는 여러 개의 슬레이브 노드가 있으며, 이들은 마스터 노드의 지시에 따라 일을 처리합니다.

주요 역할:

  • DataNode:
    • HDFS에서 데이터를 실제로 저장하고 관리합니다. 각 DataNode는 파일을 작은 블록으로 나누어 저장하고, NameNode의 지시에 따라 데이터를 제공하거나 저장합니다.
  • NodeManager:
    • YARN에서 각 슬레이브 노드에 실행됩니다. NodeManager는 해당 노드의 리소스를 관리하고, ResourceManager의 지시에 따라 작업 컨테이너를 실행합니다. 각 슬레이브 노드에서 실행되는 작업을 모니터링하고 리포트합니다.

슬레이브 노드에 설치되는 주요 서비스:

  • HDFS의 DataNode (데이터 저장 및 관리)
  • YARN의 NodeManager (작업 실행 및 리소스 관리)

마스터 노드와 슬레이브 노드의 차이

특성마스터 노드 (Master Node)슬레이브 노드 (Slave Node)
주요 역할클러스터 관리, 메타데이터 관리, 리소스 스케줄링데이터 저장, 실제 계산 및 작업 실행
HDFS 역할NameNode (메타데이터 및 파일 위치 정보 관리)DataNode (데이터 블록 저장)
YARN 역할ResourceManager (리소스 스케줄링 및 할당)NodeManager (작업 컨테이너 실행 및 리소스 관리)
설치되는 컴포넌트NameNode, ResourceManager, Secondary NameNode, JobHistoryDataNode, NodeManager
노드 수일반적으로 1~2개의 노드만 마스터 역할 수행클러스터에 여러 슬레이브 노드 존재, 대규모 클러스터에서는 수백 개 가능
profile
시리즈를 기반으로 작성하였습니다.

0개의 댓글