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

2020. 3. 5. 21:37·AWS

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
  •  
반응형
저작자표시 비영리 동일조건 (새창열림)

'AWS' 카테고리의 다른 글

[AWS] EMR에 ssh로 접속하는 방법  (0) 2020.10.07
[AWS] WARN internal.BasicProfileConfigLoader: Your profile name includes 경고 없애는 방법  (0) 2020.06.16
[AWS] AWS CLI에서 환경변수에 S3키를 전달하여 사용하는 방법  (0) 2019.11.18
[AWS] 비관리형, 관리형(Managed), 완전관리형(Fully-Managed)  (0) 2019.08.06
[aws] 아마존 레드쉬프트(Amazon Redshift), EMR과 의 차이  (0) 2019.07.29
'AWS' 카테고리의 다른 글
  • [AWS] EMR에 ssh로 접속하는 방법
  • [AWS] WARN internal.BasicProfileConfigLoader: Your profile name includes 경고 없애는 방법
  • [AWS] AWS CLI에서 환경변수에 S3키를 전달하여 사용하는 방법
  • [AWS] 비관리형, 관리형(Managed), 완전관리형(Fully-Managed)
hs_seo
hs_seo
Hello World!
    반응형
  • hs_seo
    개발자로 살아남기
    hs_seo
  • 전체
    오늘
    어제
    • 전체 (1140)
      • 개발자 (21)
        • 개발에 유의할 점 (0)
        • 면접 (5)
      • IT 소식 (5)
        • 업계 (1)
      • java (51)
        • 디자인패턴 (3)
        • apache-common (1)
      • 개념 (47)
        • 자료구조 (4)
        • 함수형사고 (8)
        • 디자인패턴 (1)
      • 데이터분석 (1)
      • python (67)
        • 코드조각 (12)
        • 라이브러리 (2)
      • 빅데이터 (418)
        • zookeeper (5)
        • hadoop (78)
        • hdfs (12)
        • hive (127)
        • hbase (16)
        • spark (40)
        • scala (4)
        • trino (3)
        • oozie (41)
        • Hue (9)
        • R (5)
        • sqoop (6)
        • flume (3)
        • elasticsearch (2)
        • airflow (16)
        • kafka (3)
        • kubernetes (10)
        • openstack (3)
        • flink (2)
        • redis (2)
      • 빅데이터 강좌 (2)
      • 알고리즘 (131)
        • 알고리즘 (1)
        • 백준 (61)
        • 정올 (41)
        • 더블릿 (5)
        • 프로그래머스 (1)
      • 프로그래밍 언어 (30)
        • go (4)
        • js (9)
        • .Net (6)
        • Jsp (1)
        • ansible (3)
        • terraform (6)
      • Tools (56)
        • docker (2)
        • macbook (6)
        • maven (3)
        • sublime (1)
      • 프레임워크 (25)
        • [JS] angularjs (2)
        • [JS] node.js (19)
        • [Java] spring (2)
        • Android (2)
      • 데이타베이스 (43)
        • SQLD (5)
        • Oracle (1)
        • MySQL (8)
        • ADsP (2)
      • 리눅스 (25)
        • Bash (61)
      • GCP (5)
      • AWS (34)
        • EC2 (2)
        • EMR (14)
      • 정보보안기사 (4)
        • 네트워크 (1)
      • 개인 (80)
        • 업무실수 (0)
        • 책 (9)
        • 교육 (3)
        • 여행 (17)
        • 영화 (12)
        • 음악 (2)
        • 피규어 (4)
        • 게임 (3)
        • 생각 (7)
        • 기타 (10)
        • 좋은글 (5)
        • 좋은 사이트 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • 빅데이터-하둡,하이브로 시작하기
    • 빅데이터-스칼라, 스파크로 시작하기
    • Kaggle에서 파이썬으로 데이터 분석 시작하기
    • 쉘스크립트 개발 시작하기
    • 개발자가 데이터 분석 준전문가 되기
    • 데브쿠마
  • 공지사항

  • 인기 글

  • 태그

    Tez
    Python
    nodejs
    오류
    build
    S3
    HDFS
    다이나믹
    airflow
    java
    ubuntu
    k8s
    백준
    bash
    파이썬
    SPARK
    error
    emr
    yarn
    하둡
    Hadoop
    하이브
    HIVE
    hbase
    mysql
    정올
    Linux
    AWS
    알고리즘
    oozie
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
hs_seo
[EMR] EMR의 기본 실행 프로세스 정리
상단으로

티스토리툴바