Hive 스케줄링 오류 FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

엊그저께 스케줄링 작업을 만들 때 테이블 문구를 다시 만듭니다. insert overwrite table select... 클러스터에서 달릴 때 다음과 같은 오류가 발생했습니다. Error: Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask (state=08S01,code=2)
그리고job의 id에 따라yarn에 가서 로그를 조회한 결과 다음과 같은 오류가 발생했습니다:FATAL [main] org.apache.hadoop.mapred.YarnChild: Error running child : java.lang.OutOfMemoryError: GC overhead limit exceeded
원래는 메모리가 넘쳤는데 데이터 양이 너무 많아서 맵의 단계에 메모리가 부족합니다.이때 SQL 문에 매개변수를 설정한 문을 추가합니다.
set mapreduce.map.memory.mb=10150; 
set mapreduce.map.java.opts=-Xmx6144m;

물론 이런 상황은 Reduce 단계에서도 나타날 수 있어요.
set mapreduce.reduce.memory.mb=10150; 
set mapreduce.reduce.java.opts=-Xmx8120m;

매개 변수의 값은 스스로 조절할 수 있으니, 자신의 필요에 따라 설정하면 된다.꽃을 뿌리다

좋은 웹페이지 즐겨찾기