[HADOOP] 원 사는 yarn.nodemanager.resource.cpu-vcores를 존중하지 않습니다.
HADOOP원 사는 yarn.nodemanager.resource.cpu-vcores를 존중하지 않습니다.
Hadoop-2.4.0을 사용하고 있으며 시스템 구성은 24 코어, 96GB RAM입니다.
나는 다음 설정을 사용 중이다.
mapreduce.map.cpu.vcores=1
yarn.nodemanager.resource.cpu-vcores=10
yarn.scheduler.minimum-allocation-vcores=1
yarn.scheduler.maximum-allocation-vcores=4
yarn.app.mapreduce.am.resource.cpu-vcores=1
yarn.nodemanager.resource.memory-mb=88064
mapreduce.map.memory.mb=3072
mapreduce.map.java.opts=-Xmx2048m
용량 스케줄러 구성
queue.default.capacity=50
queue.default.maximum_capacity=100
yarn.scheduler.capacity.root.default.user-limit-factor=2
위의 설정을 사용하면 원사가 노드 당 10 개 이상의 매퍼를 시작하지는 않지만 노드 당 28 개의 매퍼를 실행합니다. 내가 뭐 잘못하고 있니?
해결법
-
==============================
1.YARN은 기본적으로 DefaultResourceCalculator가 사용되기 때문에 할당 된 코어보다 많은 컨테이너를 실행합니다. 그것은 오직 메모리만을 고려합니다.
YARN은 기본적으로 DefaultResourceCalculator가 사용되기 때문에 할당 된 코어보다 많은 컨테이너를 실행합니다. 그것은 오직 메모리만을 고려합니다.
public int computeAvailableContainers(Resource available, Resource required) { // Only consider memory return available.getMemory() / required.getMemory(); }
DominantResourceCalculator를 사용하여 CPU와 메모리를 모두 사용합니다.
capacity-scheduler.xml에서 설정을 아래로 설정하십시오.
yarn.scheduler.capacity.resource-calculator=org.apache.hadoop.yarn.util.resource.DominantResourceCalculator
DominantResourceCalculator에 대한 추가 정보
from https://stackoverflow.com/questions/25563736/yarn-is-not-honouring-yarn-nodemanager-resource-cpu-vcores by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 하이브의 문자를 대체하는 방법? (0) | 2019.06.03 |
---|---|
[HADOOP] hadoop namenode 형식이 정확히 무엇입니까? (0) | 2019.06.03 |
[HADOOP] Hadoop 클라이언트 노드 설정 (0) | 2019.06.03 |
[HADOOP] 왜 Hadoop과 호환되지 않는 네임 스페이스 ID 문제가 발생합니까? (0) | 2019.06.03 |
[HADOOP] Java에서 HDFS 및 로컬 파일 읽기 (0) | 2019.06.03 |