[HADOOP] `yarn.scheduler.maximum-allocation-mb`와`yarn.nodemanager.resource.memory-mb`의 차이점은 무엇입니까?
HADOOP`yarn.scheduler.maximum-allocation-mb`와`yarn.nodemanager.resource.memory-mb`의 차이점은 무엇입니까?
yarn.scheduler.maximum-allocation-mb와 yarn.nodemanager.resource.memory-mb의 차이점은 무엇입니까?
yarn-site.xml에서이 두 가지를 볼 수 있으며 여기서 설명을 볼 수 있습니다.
yarn.scheduler.maximum-allocation-mb에는 다음과 같은 정의가 주어집니다 : RM에서 모든 컨테이너 요청에 대한 최대 할당 (MB). 이보다 높은 메모리 요청은 InvalidResourceRequestException을 던집니다. 이것은 resourcemanager에서만 메모리 요청이이 값으로 제한된다는 것을 의미합니까?
그리고 yarn.nodemanager.resource.memory-mb에는 컨테이너에 할당 할 수있는 물리적 메모리 양 (MB 단위)이 정의되어 있습니다. 이것은 전체 클러스터의 모든 컨테이너에 대한 합계를 의미합니까?
그러나, 나는 아직도 이들을 분간 할 수 없다. 그 설명은 그들이 똑같다고 생각하게합니다.
더 혼란 스러울 때, 그들의 기본값은 똑같습니다 : 8192 mb. 이 차이점을 어떻게 알 수 있습니까? 고맙습니다.
해결법
-
==============================
1.48GB RAM을 가진 각 시스템에서 클러스터를 설정하는 경우를 생각해보십시오. 이 RAM 중 일부는 운영 체제 및 기타 설치된 응용 프로그램 용으로 예약되어 있어야합니다.
48GB RAM을 가진 각 시스템에서 클러스터를 설정하는 경우를 생각해보십시오. 이 RAM 중 일부는 운영 체제 및 기타 설치된 응용 프로그램 용으로 예약되어 있어야합니다.
yarn.nodemanager.resource.memory-mb :
컨테이너에 할당 할 수있는 실제 메모리 크기 (MB)입니다. YARN이이 노드에서 사용할 수있는 메모리의 양을 의미하므로이 속성 해당 기계의 전체 메모리보다 작아야합니다.
<name>yarn.nodemanager.resource.memory-mb</name> <value>40960</value> <!-- 40 GB -->
다음 단계는 컨테이너에서 사용할 수있는 전체 리소스를 분할하는 방법에 대한 YARN 지침을 제공하는 것입니다. 컨테이너에 할당 할 RAM의 최소 단위를 지정하면됩니다.
yarn-site.xml에서
<name>yarn.scheduler.minimum-allocation-mb</name> <!-- RAM-per-container -> <value>2048</value>
yarn.scheduler.maximum-allocation-mb :
MB 단위로 컨테이너에 사용할 수있는 최대 메모리 할당을 정의합니다.
RM은 "yarn.scheduler.minimum-allocation-mb"단위로 컨테이너에 메모리를 할당 할 수 있으며 "yarn.scheduler.maximum-allocation-mb"를 초과하지 않으며 노드의 할당 된 총 메모리보다 작아야합니다. .
yarn-site.xml에서
<name>yarn.scheduler.maximum-allocation-mb</name> <!-Max RAM-per-container-> <value>8192</value>
MapReduce 응용 프로그램의 경우 YARN은 각지도를 처리하거나 컨테이너의 작업을 줄이고 단일 컴퓨터에서는 여러 개의 컨테이너가있을 수 있습니다. 각 노드에서 최대 20 개의 컨테이너를 허용하려면 총 40GB의 RAM / 컨테이너 20 개 = 컨테이너 당 최소 2GB의 속성 yarn.scheduler.minimum-allocation-mb가 필요합니다.
다시 우리는 속성 "yarn.scheduler.maximum-allocation-mb"에 의해 제어되는 컨테이너의 최대 메모리 사용을 제한하려고합니다.
예를 들어 맵 컨테이너 당 2049MB 메모리 (mapredduap.map.memory = 2048 mapred-site.xml 세트)를 요구하는 작업이 있다면 RM은 4096MB (2 * yarn.scheduler.minimum- 할당 -mb) 컨테이너.
9999MB 맵 컨테이너를 요청하는 거대한 MR 작업이있는 경우 작업은 오류 메시지와 함께 종료됩니다.
from https://stackoverflow.com/questions/43826703/difference-between-yarn-scheduler-maximum-allocation-mb-and-yarn-nodemanager by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Docker-spark에서 Hadoop "플랫폼에 native-hadoop 라이브러리를로드 할 수 없습니다"오류가 발생합니까? (0) | 2019.06.14 |
---|---|
[HADOOP] hadoop의 새로운 디렉토리에서 .gz 파일의 압축을 해제하는 방법은 무엇입니까? (0) | 2019.06.14 |
[HADOOP] Airflow에서 실패한 작업을 다시 시작하는 방법 (0) | 2019.06.14 |
[HADOOP] JobConf를 사용하지 않고 Hadoop 작업 실행 (0) | 2019.06.14 |
[HADOOP] Hadoop / Hive : 로컬 컴퓨터에서 .csv의 데이터로드 (0) | 2019.06.14 |