복붙노트

[HADOOP] 오류 : Java 힙 공간

HADOOP

오류 : Java 힙 공간

우분투에서, 내가 hadoop 예제를 실행할 때 :

$bin/hadoop jar hadoop-examples-1.0.4.jar grep input output 'dfs[a-z.]+' 

$echo $HADOOP_HEAPSIZE
2000

로그에서 다음과 같은 오류가 발생합니다.

문제가 무엇인지 알려주십시오.

해결법

  1. ==============================

    1.확실히 자바에 할당 된 힙 크기가 부족합니다. 그래서 당신은 그것을 증가 시키려고 노력할 것입니다.

    확실히 자바에 할당 된 힙 크기가 부족합니다. 그래서 당신은 그것을 증가 시키려고 노력할 것입니다.

    이를 위해 hadoop 명령을 실행하기 전에 다음을 실행할 수 있습니다 :

    export HADOOP_OPTS="-Xmx4096m"
    

    또는 mapred-site.xml 파일에 다음 영구 설정을 추가하여 동일한 결과를 얻을 수도 있습니다.이 파일은 HADOOP_HOME / conf /에 있습니다.

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

    이것은 Java 힙 공간을 4096MB (4GB)로 설정합니다. 작동하는 경우 더 낮은 값으로 먼저 시도 할 수도 있습니다. 그렇게해도 해결되지 않으면 컴퓨터에서 지원하는 경우 더 늘리십시오. 그렇지 않은 경우 더 많은 메모리가있는 컴퓨터로 이동하여 시도하십시오. 힙 공간이란 단순히 Java에 사용할 수있는 충분한 RAM이 없다는 것을 의미합니다.

    업데이트 : Hadoop 2 이상에서는 대신 mapreduce.map.java.opts를 변경하십시오.

  2. ==============================

    2.

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

    나를 위해 일합니다.

    효과가 없다

  3. ==============================

    3.Hadoop 2.5.0-cdh5.2.0을 사용하여 로컬 (순차적) java 프로세스의 힙 크기를 변경했습니다.

    Hadoop 2.5.0-cdh5.2.0을 사용하여 로컬 (순차적) java 프로세스의 힙 크기를 변경했습니다.

    export HADOOP_HEAPSIZE=2900
    hadoop jar analytics.jar .....
    

    그 이유는 /usr/lib/hadoop/libexec/hadoop-config.sh에

    # check envvars which might override default args
    if [ "$HADOOP_HEAPSIZE" != "" ]; then
      #echo "run with heapsize $HADOOP_HEAPSIZE"
      JAVA_HEAP_MAX="-Xmx""$HADOOP_HEAPSIZE""m"
      #echo $JAVA_HEAP_MAX
    fi
    
  4. ==============================

    4.mapred-site.xml에 속성을 추가하는 경우

    mapred-site.xml에 속성을 추가하는 경우

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

    때로는 또 다른 일이 발생합니다. 가상 메모리 한계 이상이기 때문에 이러한 상황에서, 추가해야합니다.

    <property>
            <name>yarn.nodemanager.vmem-pmem-ratio</name>
            <value>4.2</value>
    </property>
    

    yarn-site.xml에

    기본값 인 2.1G가 너무 작기 때문입니다.

  5. from https://stackoverflow.com/questions/15609909/error-java-heap-space by cc-by-sa and MIT license