Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

youchang FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask ERROR org.apache.hadoop.yarn.server.resourcemanager.ResourceManager: RECEIVED SIGNAL 15: SIGTERM
ERROR org.apache.hadoop.security.token.delegation.AbstractDelegationTokenSecretManager: ExpiredTokenRemover received java.lang .hadoop.yarn.exceptions.ApplicationNotFoundException: Application with id 'application_2' doesn't exist in RM. Please check that the job submission was successfu

Hive中运行SQL出现如下的错误:

Ended Job = job_1586933151013_0001 with errors
Error during job, obtaining debugging information…
FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
MapReduce Jobs Launched:
Stage-Stage-1: HDFS Read: 0 HDFS Write: 0 HDFS EC Read: 0 FAIL
Total MapReduce CPU Time Spent: 0 msec

错误排查:我这里的情况是在hive中运行普通的select * from tableName 是没有问题的,但是在执行select count(id) from table 的时候抛出错误,因为开启了Hive的本地模式,默认普通的select是不走MR的,所以定位到其他的方面

1.检查HDFS是否在安全模式
使用命令手动离开安全模式 hadoop dfsadmin -safemode

2.检查hadoop的配置文件是否出现配置错误

3.查看是否是否报出内存溢出的错误
如果是内存溢出可以设置如下参数

set mapreduce.map.memory.mb=10150
set mapreduce.map.java.opts=-Xmx2048m
1
2
如果reduce端出现同样的情况可以设置

set mapreduce.reduce.memory.mb=10150
set mapreduce.reduce.java.opts=-Xmx2048m
1
2
我这里问题的原因是配置文件中出现了错误,将配置文件改好之后重启集群即可成功使用。