본문 바로가기
BigData/Hadoop

MapReduce? YARN?

by 푸푸망나뇽 2021. 9. 30.
반응형

<요약>

MapReduce의 단점을 보완하고자 나온 리소스관리플랫폼 YARN(Yet Another Resource Negotiator) 

YARN은 기존 MapReduce 중에서 클러스터의 리소스를 관리하는 부분만 가져와서 다른 서비스에서도 사용 가능하도로 구성한 시스템

 

전통적인 MapReduce의 구성

전통적인 MapReduce시스템은 세가지로 분리가 가능하다.

-- Mapper,Ruducer 등 클래스로 구성된 라이브러리

-- JobTracker, TaskTracker로 구성된 Runtime환경

  • Job Tracker는 하둡 클러스터에 있는 전체 Job의 스케줄링을 관리 및 모니터링하고 리소스를 관리한다. 마스터서버에서 동작.
  • Task Tracker는 사용자가 설정한 맵리듀스 프로그램을 실행하며, 하둡의 데이터 노드에서 실행되는 데몬.

-- Runtime환경에서 프로그램 실행을 지원하는 JobClient, JobConf 등 클래스과 유틸리티 클래스

 

문제점

Hadoop 클러스터의 서버에서 리소스 상태는 MapReduce의 Master 서버 역할을 수행하는 JobTracker에 의해 관리

->  Spark와 같이 다른 컴퓨팅 클러스터를 Hadoop이 설치된 클러스터 서버들의 리소스를 사용하고자 할때 연동의 어려움이 발생하고 과부하가 발생할수있다.

 

이를 해결하기 위해 기존 MapReduce 중에서 클러스터의 리소스를 관리하는 부분만 가져와서 다른 서비스에서도 사용 가능하도로 구성한 시스템이 YARN

 

YARN의 구성

MapReduce의 클러스터 구성 기능이 YARN으로 재 정의하면서 MapReduce의 구현도 변경되었다.

MapReduce는 컴퓨팅을 위한 프로그램만 제공하고 클러스터의 리소스 관리, 장애 관리 등은 YARN에 의해 관리되도록 변경

 

YARN은 핵심 구성 요소는 ResourceManager와 NodeManager

  • ResourceManager
    • YARN 클러스터의 Master 서버로 하나 또는 이중화를 위해 두개의 서버에만 실행됨
    • 클러스터 전체의 리소스를 관리
    • YARN 클러스터의 리소스를 사용하고자 하는 다른 플랫롬으로부터 요청을 받아 리소스 할당(스케줄링)
  • NodeManager
    • YARN 클러스터의 Worker 서버로 ResourceManager를 제외한 모든 서버에 실행
    • 사용자가 요청한 프로그램을 실행하는 Container를 fork 시키고 Container를 모니터링 Container 장애 상황 또는 Container가 요청한 리소스보다 많이 사용하고 있는지 감시(요청한 리소스보다 많이 사용하면 해당 Container를 kill 시킴)

 

 

YARN에서 MapReduce환경설정

공식문서를 참고해

etc/hadoop/mapred-site.xml, etc/hadoop/yarn-site.xml 수정하여

sbin/start-yarn.sh 로 실행 후

http://localhost:8088/ 로 접속

 

 

 

 

 


 

참고

 

https://www.popit.kr/what-is-hadoop-yarn/

 

YARN 무엇에 쓰는 물건인고? | Popit

Hadoop 을 처음 접하시는 분들은 HDFS에 대해서는 쉽게 이해하지만 YARN에 대해서는 개념을 잡기 어려워하시는 분들이 있습니다. 그 이유는 Hadoop하면 MapReduce를 많이 떠 올리시는데 MapReduce 따로 YARN

www.popit.kr

 

반응형

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

Hadoop 2,3버전 port list 정리  (0) 2021.10.05
Hadoop single node install 설치  (0) 2021.10.05
기업들의 데이터플랫폼 구축사례  (0) 2021.09.07

댓글