2011-09-23 10 views
2

Java 매퍼의 일부로 명령을 로컬 노드에서 일부 코드를 실행하고 로컬 출력 파일을 hadoop fs에 복사합니다. 불행하게도 나는 다음과 같은 출력을 받고 있어요 :Hadoop java mapper -copyFromLocal 힙 크기 오류

오류가 VM

의 초기화하는 동안 발생

는 개체 힙 내가 mapred.map.child을 조정하려고했습니다

에 충분한 공간을 예약 할 수 없습니다. -Xmx512M에 java.opts하지만 불행히도 운이 없다.

노드로 ssh 할 때 문제없이 -copyFromLocal 명령을 실행할 수 있습니다. 출력 파일은 약 100kb와 같이 아주 작습니다.

도움이 될 것입니다.

+0

로그 파일을 확인하고 예외가 있으면 게시하십시오. –

+0

로그 파일에서 불행히도 예외는 없습니다 ... – Joris

+0

"명령이 로컬 코드에서 일부 코드를 실행합니다"어떻게 생겼습니까? 다른 프로세스를 포크합니까? –

답변

0

매퍼 또는 감속기의 무한 루프로 인해 메모리 부족 오류가 발생할 수 있습니다.

감속기 값의 조건으로 iterator.hasNext()가있는 while 루프가 있었고 루프 내부에서 iterator.next()를 호출하지 않은 경우 OoM을 한 번 실행했습니다.