hive.ql.exec.mr.MapRedTask和Could not find status of job:job_*问题排查

阿里云教程2小时前发布
1 0 0

在我们的数仓运行过程中,执行调度98%概率会出出现的两个报错:

第一个:

Error while processing statement: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

第二个:

Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. Could not find status of job:job_1656914358436_*

这两个问题的出现。网上说jobname的名字长度问题,我们采取网上的方法有:

hive.jobname.length=10  (#从10试到100都不行)

mapred.job.name=jobname

该办法无效!


此下是我们的解决思路:

我们找到一个报错的job_id 拿到yarn中查找日志,

application_1656914358436_5014   pstagejobnameMAPREDUCEhive0Mon Jul 4 16:30:23 +0800 2022Mon Jul 4 16:30:24 +0800 2022Mon Jul 4 16:30:47 +0800 2022FINISHEDSUCCEEDEDN/AN/AN/AN/AN/A0.00.0 History 0

application_1656914358436_5014 中找logs

application_1656914358436_5014_000001  Mon Jul 4   16:30:23 +0800 2022    http://hadoop3:8042    LOGS  0

LOGS 进去:

我们找到了以下报错信息:

The directory item limit of /user/history/done_intermediate/pku is exceeded: limit=1048576 items=1048576

问题缘由:

发现是pku用户下的文件个数超出了1048576的限制,

于是乎:

我们执行解决办法:

hdfs dfs -rm -r   /user/history/done_intermediate/pku/*

删了一些后马上就能执行成功。

© 版权声明

相关文章

暂无评论

none
暂无评论...