2014-10-01 3 views
0

Hadoop 2.5.1에 ​​문제가있어 요청한 힙 공간이 증가하지 않습니다. Hadoop은 mapred-site.xml 파일의 mapred.child.java.opts 속성을 존중하지 않는 것 같습니다. 내 직업에Hadoop 힙 할당

내가 다음을 수행하고 java.lang.OutOfMemoryError와 : Java 힙 공간

이미지의 크기에 따라

R = new int[height * width]; 
G = new int[height * width]; 
B = new int[height * width]; 

를 나는 작업에 의한

말을 충돌하는 통과

이해할 수 있습니다. 힙 공간을 늘려야하지만 Hadoop이 mapred-site.xml 파일의 변경 사항을 존중하기를 원하지 않습니다.

나는 나의 mapred-site.xml을이 추가되고 문제가 해결되지 않은 경우

<property> 
    <name>mapred.child.java.opts</name> 
    <value>-Xmx12072m</value> 
</property> 

를 다시 시작 내 mapred-env.sh이 추가 및

export HADOOP_JOB_HISTORYSERVER_HEAPSIZE=4000 

때 다시 시작 작동하지 않았다. 내 yarn-env.sh에 이것을 추가하고 다시 시작한다.

JAVA_HEAP_MAX=-Xmx4000m 

이것이 작동하지 않으면 내 yarn-env .sh로하고 내가 시작을 사용하여 다시 시작한

export HADOOP_HEAPSIZE=4000 
export HADOOP_NAMENODE_INIT_HEAPSIZE="3000" 

을 내 hadoop-env.sh이 추가 작업을 다시 시작하지 않은 경우

YARN_HEAPSIZE=4000 

를 다시 시작/시작/정지 stop-dfs.sh -all.sh start/stop-yarn.sh와 그 조합. 서버를 다시 시작했지만 아직 변경 사항을 확인하지 못했습니다.

나는 내가 할 수있는 일이나 내가 바꿀 수있는 것을 잃어 버렸다.

이 디버깅을 시도 할 수 있도록 작업 내에서 힙 크기를 확인할 수있는 방법이 있습니까?

답변

0

실제 원래의 문제는 무엇인지 모르겠지만 분명히 그것이 내 문제였습니다. 잘못된 구성 또는 문제를 일으킨 구성 충돌 중 하나입니다. 내가 한 일은 hadoop 설치를 긁어서 처음부터 시작하는 것입니다.

나는이 가이드에서 의사 분산 운영에 대한 지침을 따랐 :

http://hadoop.apache.org/docs/r2.5.1/hadoop-project-dist/hadoop-common/SingleCluster.html

그 지시에 주어진 구성 설정 외에도 나는 다음을 추가했습니다. 당신은 내가 그 매개 변수에 대해 걱정할 필요가 없습니다 있도록이 단계를 줄일 필요가 없습니다 여기에 정보 http://hadoop.apache.org/docs/r2.5.1/hadoop-project-dist/hadoop-common/ClusterSetup.html

<property> 
    <name>mapreduce.map.java.opts</name> 
    <value>-Xmx4096m</value> 
</property> 
<property> 
    <name>mapreduce.map.memory.mb</name> 
    <value>4096</value> 
</property> 

을 찾을 수 있습니다.

이제 작업이 완료된 것 같습니다.

0

당신이 내가 당신이 이미 (내 다른 옵션이었다)을 mapred-site.xml 파일을 변경 시도를 참조

export HADOOP_OPTS="-Xmx12072m" 

? : 노력했다.

낮은 값을 먼저 시도해보고 작동하는지 확인하는 방법은 어떨까요?

아마 Java에 사용할 수있는 RAM이 충분하지 않으며 도달 할 수있는 것보다 많은 것을 제공하려고합니다. 이 경우 더 많은 메모리가있는 시스템으로 이동하여 시도해야합니다.

행운을 빈다.

+0

나는 당신의 제안도 시도했지만 그 역시 효과가 없었다. 그 기계는 64GB의 메모리를 가지고있어서 나는 단지 메모리의 부족을 문제로 배제하려고 노력하고있었습니다. 내가 처리하려고했던 이미지의 크기는 ~ 800MB의 메모리 만 필요했습니다. –

+0

나는 대답으로 한 것을 올렸다. –

관련 문제