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

在我们的数仓运行过程中,执行调度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/*

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容