[HADOOP] 왜 YARN Java 힙 공간 메모리 오류입니까?
HADOOP왜 YARN Java 힙 공간 메모리 오류입니까?
YARN에서 메모리를 설정하려고합니다. 그래서 yarn-site.xml 및 mapred-site.xml에서 일부 매개 변수를 구성하려고합니다. 그건 그렇고 난 2.6.0을 사용했다. 하지만지도 작업을 할 때 오류가 발생합니다. 그것은 이렇게 말한다 :
15/03/12 10:57:23 INFO mapreduce.Job: Task Id :
attempt_1426132548565_0001_m_000002_0, Status : FAILED
Error: Java heap space
Container killed by the ApplicationMaster.
Container killed on request. Exit code is 143
Container exited with a non-zero exit code 143
나는 그것을 올바르게 설정했다고 생각한다. map.java.opts와 reduce.java.opts에 작은 크기 = 64MB를 준다. mapred-site.xml에서 map.java.opts 및 reduce.java.opts를 변경하는 것처럼 일부 매개 변수를 구성하려고 시도했지만 여전히이 오류가 발생합니다. 나는 YARN 메모리가 어떻게 작동 하는지를 정말로 이해하지 못한다고 생각합니다. 이 방법은 단일 노드 컴퓨터에서 시도합니다.
해결법
-
==============================
1.Yarn은 리소스 관리를 처리하고 MapReduce 및 실시간 작업 부하를 사용할 수있는 배치 작업 부하를 처리합니다.
Yarn은 리소스 관리를 처리하고 MapReduce 및 실시간 작업 부하를 사용할 수있는 배치 작업 부하를 처리합니다.
원사 컨테이너 레벨과 매퍼 및 감속기 레벨에서 설정할 수있는 메모리 설정이 있습니다. 메모리는 원사 컨테이너 크기 단위로 요청됩니다. 매퍼 및 감속기 태스크는 컨테이너 내에서 실행됩니다.
mapreduce.map.memory.mb 및 mapreduce.reduce.memory.mb
위의 매개 변수는 map-reduce 태스크의 상위 메모리 제한을 나타내며이 태스크에 의해 가입 된 메모리가이 제한을 초과하면 해당 컨테이너가 강제 종료됩니다.
이 매개 변수는 각각 mapper 및 reduce 작업에 할당 할 수있는 최대 메모리 양을 결정합니다. 예를 들어 보겠습니다. Mapper는 구성 매개 변수 mapreduce.map.memory.mb에 정의 된 메모리의 상한으로 제한됩니다.
그러나, yarn.scheduler.minimum-allocation-mb의 값이 mapreduce.map.memory.mb의이 값보다 크면 yarn.scheduler.minimum-allocation-mb가 존중되고 해당 크기의 컨테이너가 제공됩니다 아웃.
이 매개 변수는 신중하게 설정해야하며 올바르게 설정하지 않으면 성능이 좋지 않거나 OutOfMemory 오류가 발생할 수 있습니다.
mapreduce.reduce.java.opts 및 mapreduce.map.java.opts
이 속성 값은 map / reduce 작업의 메모리 할당 범위 내에 있어야하므로 mapreduce.map.memory.mb / mapreduce.reduce.memory.mb에 정의 된대로 map / reduce 작업의 상한보다 작아야합니다.
-
==============================
2.@ Gaurav가 말한 것은 정확합니다. 비슷한 문제가 생겼다. 아래와 같은 것을 시도했다. yarn-site.xml의 속성을 아래에 포함하고 VM을 다시 시작한다.
@ Gaurav가 말한 것은 정확합니다. 비슷한 문제가 생겼다. 아래와 같은 것을 시도했다. yarn-site.xml의 속성을 아래에 포함하고 VM을 다시 시작한다.
<property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> <description>Whether virtual memory limits will be enforced for containers</description> </property> <property> <name>yarn.nodemanager.vmem-pmem-ratio</name> <value>4</value> <description>Ratio between virtual memory to physical memory when setting memory limits for containers</description> </property>
from https://stackoverflow.com/questions/29001702/why-yarn-java-heap-space-memory-error by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 멀티 코어 시스템에서의 Hadoop 및 map-reduce (0) | 2019.08.04 |
---|---|
[HADOOP] HBase region 서버와 Hadoop 데이터 노드는 같은 시스템에 있어야합니까? (0) | 2019.08.04 |
[HADOOP] hdfs의 하이브 테이블을 csv로 내보내기 (0) | 2019.08.04 |
[HADOOP] Hive 파티션 컬럼 이름을 변경하는 방법 (0) | 2019.08.04 |
[HADOOP] Flume을 사용하여 원격 노드에서 HDFS로 파일 전송 (0) | 2019.08.04 |