[HADOOP] TaskTracker 하위 프로세스에 메모리를 구성하는 다양한 방법 (Mapper 및 Reduce Tasks)
HADOOPTaskTracker 하위 프로세스에 메모리를 구성하는 다양한 방법 (Mapper 및 Reduce Tasks)
Mapper 및 Reduce 작업에서 사용하는 최대 메모리를 제어하기 위해 mapred.job.map.memory.mb와 mapred.child.java.opts를 -Xmx를 사용하여 설정하는 것의 차이점은 무엇입니까? 우선 순위는 어느 것입니까?
해결법
-
==============================
1.-Xmx는 할당 된 jvm의 최대 힙 공간을 지정합니다. 이것은 가비지 수집기가 관리하는 객체 할당을 위해 예약 된 공간입니다. 반면, mapred.job.map.memory.mb는 Hadoop 작업 하위 프로세스가 허용하는 최대 가상 메모리를 지정합니다. 최대 힙 크기를 초과하면 JVM은 OutOfMemoryException을 발생시킵니다.
-Xmx는 할당 된 jvm의 최대 힙 공간을 지정합니다. 이것은 가비지 수집기가 관리하는 객체 할당을 위해 예약 된 공간입니다. 반면, mapred.job.map.memory.mb는 Hadoop 작업 하위 프로세스가 허용하는 최대 가상 메모리를 지정합니다. 최대 힙 크기를 초과하면 JVM은 OutOfMemoryException을 발생시킵니다.
JVM은 객체 정의 (permgen 공간)와 스택을 저장할 공간이 필요하기 때문에 최대 힙 크기보다 많은 메모리를 사용할 수 있습니다. 프로세스가 mapred.job.map.memory.mb보다 더 많은 가상 메모리를 사용하면 hadoop에 의해 kill됩니다.
그래서 하나는 다른 것보다 우선권이 없으며 (메모리 사용의 다른 측면을 측정합니다), -Xmx는 JVM에 대한 매개 변수이고 mapred.job.map.memory.mb는 가상 메모리의 하드 상한입니다 작업 시도가 사용 가능하며, hadoop에 의해 시행됩니다.
희망이 도움이됩니다, 메모리가 복잡합니다! 나는 현재 내 JVM 프로세스가 내 SO 게시물의 가상 메모리에서 최대 힙 크기의 여러 배수를 사용하는 이유에 대해 혼란 스럽다.
from https://stackoverflow.com/questions/8027817/different-ways-of-configuring-the-memory-to-the-tasktracker-child-process-mappe by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Amazon EC2 / S3를 사용하여 Hadoop 클러스터에서 HDFS로 로컬 데이터를 복사 할 때 발생하는 문제 (0) | 2019.06.17 |
---|---|
[HADOOP] Hadoop 스트리밍 - 감속기 출력에서 후행 탭 제거 (0) | 2019.06.17 |
[HADOOP] 잘못된 구성 : namenode 주소 dfs.namenode.rpc-address가 구성되지 않았습니다. (0) | 2019.06.16 |
[HADOOP] Spark에서 S3 (프랑크푸르트) 사용하기 (0) | 2019.06.16 |
[HADOOP] hadoop HDFS에 있나요? (0) | 2019.06.16 |