본문 바로가기
AWS

[EMR] EMR의 기본 실행 프로세스 정리

by hs_seo 2020. 3. 5.

EMR은 마스터 노드, 코어 노드, 태스크 노드로 구성됩니다. 마스터 노드와 코어 노드는 필수입니다. 태스크 노드는 선택사항입니다. 마스터 노드에 EMR 클러스터 운영을 위한 여러 가지 서비스가 실행됩니다. 따라서 마스터 노드의 메모리와 저장공간을 적절하게 설정하는 것이 중요합니다. 코어 노드에는 데이터 노드와 노드 매니저가 실행되고 태스크 노드에는 노드 매니저가 실행됩니다. 

 

  • 마스터 노드
    • 리소스 매니저 실행
      • EMR 클러스터 관리
    • 네임 노드 실행
      • HDFS 데이터 노드 관리 
    • 그 외 서비스가 실행되어 EMR 클러스터의 관리와 작업을 운영 
  • 코어 노드
    • 데이터 노드 실행
      • HDFS 데이터 저장 
    • 노드 매니저 실행
      • 애플리케이션 실행
  • 태스크 노드
    • 노드 매니저 실행
      • 애플리케이션 실행

마스터 노드 실행 프로세스

EMR에서 하둡, 하이브, 스파크, 우지를 설정한 클러스터를 생성하면 기본적으로 실행되는 프로세스가 다음과 같습니다.

 

마스터 노드

$ initctl list 
amazon-ssm-agent
hadoop-hdfs-namenode
hadoop-httpfs
hadoop-kms
hadoop-mapreduce-historyserver
hadoop-yarn-proxyserver
hadoop-yarn-resourcemanager
hadoop-yarn-timelineserver
hive-hcatalog-server
hive-server2
livy-server
oozie
spark-history-server

코어 노드

amazon-ssm-agent
hadoop-hdfs-datanode
hadoop-yarn-nodemanager

태스크 노드

amazon-ssm-agent
hadoop-yarn-nodemanager

EMR 서비스

각 서비스를 분석해 보면 다음과 같습니다.

  • HDFS

    • hadoop-hdfs-namenode
      • HDFS 네임노드
      • 코어 노드의 데이터 노드를 관리
      • 네임 노드가 실행되면 HDFS의 처리 이력이 저장되면서 로컬 디스크에 많은 용량을 차지
        • 사용 빈도에 따라 적당한 크기의 로컬 디스크가 필요함 
    • hadoop-httpfs
      • HTTP를 이용하여 HDFS에 접근하기 위한 프록시 서버
      • 사용자 명이 없으면 접근 불가
  • YARN

    • hadoop-yarn-resourcemanager
      • 각 노드의 자원 관리와 할당을 위한 리소스 매니저
      • 코어노드, 태스크 노드의 노드 매니저와 연결
    • hadoop-yarn-timelineserver
      • YARN에서 실행되는 작업의 실행 기록을 조회하기 위한 타임라인 서버
      • 작업의 실행 기록이 leveldb로 저장되면 작업 빈도에 따라 로컬 디스크에 많은 용량을 치지  
    • hadoop-yarn-proxyserver
      • YARN에 대한 웹기반 공격을 방어하기 위한 프록시 서버
      • AM이 제공하는 웹UI의 접근을 중계하여 공격을 방어
  • Mapreduce

    • hadoop-mapreduce-historyserver
      • 맵리듀스 작업의 실행 기록 보관을 위한 히스토리 서버
  • 키 관리

    • hadoop-kms
      • KMS(Key Management Server)를 이용하여 Key를 가진 클라이언트만 접근이 가능하도록 하기 위한 키관리 서버
  • Hive

    • hive-hcatalog-server
      • 하이브 메타 스토어 서버
    • hive-server2
      • 여러 타입의 클라이언트 접근을 위한 하이브 서버 2
  • Spark

    • livy-server
      • HTTP를 이용하여 원격으로 Spark에 작업을 요청하기 위한 서버
    • spark-history-server
      • 스파크 작업 히스토리 서버
  • Oozie

    • oozie
      • 우지 서버
  • EC2 서버 관리용

    • amazon-ssm-agent
  •  
반응형