2016-08-18 5 views
0

YARN 구성을 이해하는 데 문제가 있습니다.YARN에 대한 메모리 제한 제한 문제

<name>mapreduce.map.memory.mb</name> 
<value>2048</value> 

<name>mapreduce.reduce.memory.mb</name> 
<value>1024</value> 

<name>yarn.nodemanager.vmem-pmem-ratio</name> 
<value>2.1</value> 

Here가 기록된다 : 기본적

는 ("yarn.nodemanager.vmem-pmem - 비율") 2.1로 설정
는 I 원사 /하는 MapReduce CONFIGS 이러한 라인을 갖는다. 이것은 NM이 컨테이너를 죽이기 전에 map 또는 reduce 컨테이너가 가상 메모리의 (mapreduce.reduce.memory.mb) 또는 ("mapreduce.map.memory.mb") 2.1 배까지 할당 할 수 있음을 의미합니다.

노드 관리자가 내 컨테이너를 죽일 때?
전체 컨테이너가 2048MB * 2.1 = 4300,8MB에 도달하면? 또는 1024MB * 2.1 = 2150,4MB

더 나은 설명을 얻을 수 있습니까?

답변

0

각각의 Mapper와 Reducer는 별도의 컨테이너에서 실행됩니다 (Uber 작업이 아닌 한 Mappers와 Reducers 간에는 컨테이너가 공유되지 않습니다 .Uber 모드는 여기에서 확인하십시오 : What is the purpose of "uber mode" in hadoop?).

일반적으로 Mapper와 Reducer의 메모리 요구 사항이 다릅니다.

따라서 Mapper (mapreduce.map.memory.mb) 및 감속기 (mapreduce.reduce.memory.mb)에 대한 여러 가지 구성 매개 변수가 있습니다.

그래서, 매퍼 및 Redcuer에 대한 yarn-site.xml, 가상 메모리 한계의 설정에 따라은 다음과 같습니다 한마디로

Mapper limit: 2048 * 2.1 = 4300.8 MB 

Reducer limit: 1024 * 2.1 = 2150.4 MB 

이 매퍼 기어가 서로 다른 메모리 설정과 한계를 가지고있다.