Hive 작업 실행 오류: FAILED: 실행 오류, org.apache.hadoop.hive.ql.exec.mr.MapRedTask의 반환 코드 2

 오류 메시지는 다음과 같습니다.

FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
22/06/29 15:53:55 ERROR ql.Driver: [HiveServer2-Background-Pool: Thread-21812]: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
22/06/29 15:53:55 ERROR ql.Driver: [HiveServer2-Background-Pool: Thread-21812]: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
MapReduce Jobs Launched: 
Stage-Stage-11: Map: 1  Reduce: 3   Cumulative CPU: 48.01 sec   HDFS Read: 193045173 HDFS Write: 18105336 HDFS EC Read: 0 SUCCESS
Stage-Stage-71:  HDFS Read: 0 HDFS Write: 0 HDFS EC Read: 0 SUCCESS
Stage-Stage-13: Map: 2  Reduce: 1   Cumulative CPU: 25.83 sec   HDFS Read: 55898079 HDFS Write: 96 HDFS EC Read: 0 SUCCESS
Stage-Stage-65: Map: 1   Cumulative CPU: 12.02 sec   HDFS Read: 21042 HDFS Write: 96 HDFS EC Read: 0 SUCCESS
Stage-Stage-63: Map: 1   Cumulative CPU: 98.79 sec   HDFS Read: 0 HDFS Write: 0 HDFS EC Read: 0 FAIL
Total MapReduce CPU Time Spent: 3 minutes 4 seconds 650 msec
22/06/29 15:53:55 ERROR operation.Operation: [HiveServer2-Background-Pool: Thread-21812]: Error running hive query: 
org.apache.hive.service.cli.HiveSQLException: Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
	at org.apache.hive.service.cli.operation.Operation.toSQLException(Operation.java:329) ~[hive-service-2.1.1-cdh6.3.0.jar:2.1.1-cdh6.3.0]
	at org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:258) ~[hive-service-2.1.1-cdh6.3.0.jar:2.1.1-cdh6.3.0]
	at org.apache.hive.service.cli.operation.SQLOperation.access$600(SQLOperation.java:92) ~[hive-service-2.1.1-cdh6.3.0.jar:2.1.1-cdh6.3.0]
	at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork$1.run(SQLOperation.java:345) [hive-service-2.1.1-cdh6.3.0.jar:2.1.1-cdh6.3.0]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_41]
	at javax.security.auth.Subject.doAs(Subject.java:422) [?:1.8.0_41]
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1875) [hadoop-common-3.0.0-cdh6.3.0.jar:?]
	at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork.run(SQLOperation.java:357) [hive-service-2.1.1-cdh6.3.0.jar:2.1.1-cdh6.3.0]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_41]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_41]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_41]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_41]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_41]
22/06/29 15:53:55 ERROR operation.Operation: [HiveServer2-Background-Pool: Thread-21812]: Error running hive query: 
org.apache.hive.service.cli.HiveSQLException: Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
	at org.apache.hive.service.cli.operation.Operation.toSQLException(Operation.java:329) ~[hive-service-2.1.1-cdh6.3.0.jar:2.1.1-cdh6.3.0]
	at org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:258) ~[hive-service-2.1.1-cdh6.3.0.jar:2.1.1-cdh6.3.0]
	at org.apache.hive.service.cli.operation.SQLOperation.access$600(SQLOperation.java:92) ~[hive-service-2.1.1-cdh6.3.0.jar:2.1.1-cdh6.3.0]
	at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork$1.run(SQLOperation.java:345) [hive-service-2.1.1-cdh6.3.0.jar:2.1.1-cdh6.3.0]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_41]
	at javax.security.auth.Subject.doAs(Subject.java:422) [?:1.8.0_41]
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1875) [hadoop-common-3.0.0-cdh6.3.0.jar:?]
	at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork.run(SQLOperation.java:357) [hive-service-2.1.1-cdh6.3.0.jar:2.1.1-cdh6.3.0]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_41]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_41]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_41]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_41]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_41]
OK

오류 문제를 추적한 후 근본 원인은 지도 읽기 작업을 위한 메모리가 부족하므로 지도 메모리를 늘리십시오.

set mapreduce.map.memory.mb=4096; --设置map内存
set yarn.scheduler.minimum-allocation-mb=4096; --设置yarn容器最小内存
set mapreduce.map.java.opts=-Xmx3600m; --如果有gc异常可以设置该参数

추천

출처blog.csdn.net/godlovedaniel/article/details/125524498