본문 바로가기

YARN

3. YARN Resource Manager HA(High Availibility)

2.4 이전 Hadoop 버전에서의 RM SPOF 문제


하둡 2.0으로 올라오면서 가장 큰 변화는 NameNode 의 SPOF 문제를 해결했다는 것이다. RM 역할을 하는 서버가 죽거나 응답이 없으면 YARN 시스템 전체가 뻗어버리는 문제가 있었다는 것이다. 즉, RM의 SPOF 이다. 하지만 2.4부터 RM에도 HA 가 지원되기 시작했다. 



Design for HA

ResourceManager 의 HA 는 Active/Standby 의 아키텍처를 가지고 있다( 클라우데라에서 아키텍처라는 표현을 쓰네요;; ㅎㅎ )

출처 : http://blog.cloudera.com/blog/2014/05/how-apache-hadoop-yarn-ha-works/



ResourceManager State Store

ResourceManagerStateStore는 RM 의 상태를 저장할 수 있다. 여기서 상태라 함은 RM 에 의한 어플리케이션 진행 상태, Token 위임, 버전 정보 등이지 노드 각각의 상태가 리소스 사용량등이 아니다. 왜냐면 이런건 Node Manager 들의 heartbeat 을 통해 알 수 있는 정보이기 때문이다.


RM 의 상태를 저장하는 방법은 3가지가 있는데, Cloudera 블로그에서는 여러대의 RM 을 사용하는 경우 ZooKeeper-based 방식을 추천한다.

  • Memory-based implementation (primarily for testing)
  • Filesystem-based implementation (HDFS or local filesystems can be used)
  • Apache ZooKeeper-based implementation

ZooKeeper 의 leader election

RM 은 Active RM 을 선출하는데 있어 주키퍼의 ActiveStandbyElector 방식을 사용한다. Active RM 이 죽거나 응답이 없는 경우 다른 RM 이 자동적으로 Active RM 으로 선정되어 이를 대신한다. 이는 RM 내부적으로 elector 가 내장되어 있어  ZKFC 데몬같은 부분이 따로 필요하지 않다.

Cloudera Manager 에서 Deploying an HA 하기

- ZooKeeper 서비스를 추가하면 자동으로 YARN 에 경고창이 뜨며 ZooKeeper 설정을 위한 가이드가 나온다. 그냥 버튼만 몇개 누르면 아래와 같이 자동으로 알아서 추가 된다 ;; ( 스크린샷 찍는걸 깜박해서 앞에 몇몇 화면은 그냥 지나감; ㅎㅎ )






 => "YARN 인스턴스 관리 > 역할 에 High Availability 가 활성화 됨을 볼수 있다"

yarn-site.xml 수정

...
yarn.resourcemanager.ha.enabled
true
...





ㅁ 자료 출처

http://blog.cloudera.com/blog/2014/05/how-apache-hadoop-yarn-ha-works/

https://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/ResourceManagerHA.html

'YARN' 카테고리의 다른 글

2. YARN Application 실행( CDH 를 이용하여 Local에 Spark on YARN 실행해보기 )  (0) 2017.03.19
1. YARN Scheduler  (0) 2017.03.16
0. YARN 이란?  (0) 2017.03.16