欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mapreduce报错:java.io.IOException: Split metadata size exceeded 10000000.

程序员文章站 2022-05-30 20:14:00
...
Failure Info:Job initialization failed: java.io.IOException: Split metadata size exceeded 10000000. 
Aborting job job_201205162059_1073852 at 
org.apache.hadoop.mapreduce.split.SplitMetaInfoReader.readSplitMetaInfo(SplitMetaInfoReader.java:48) at 
org.apache.hadoop.mapred.JobInProgress.createSplits(JobInProgress.java:817) at 
org.apache.hadoop.mapred.JobInProgress.initTasks(JobInProgress.java:711) at 
org.apache.hadoop.mapred.JobTracker.initJob(JobTracker.java:4028) at 
org.apache.hadoop.mapred.EagerTaskInitializationListener$InitJob.run(EagerTaskInitializationListener.java:79) at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) 

 

出错原因:该job的job.splitmetainfo文件大小超过限制;

 

1. job.splitmetainfo,该文件记录split的元数据信息,job split ----> HDFS block && slave node

  存放路径位于:${hadoop.tmp.dir}/mapred/staging/${user.name}/.staging/jobId/

 

2. 参数mapreduce.jobtracker.split.metainfo.maxsize控制该文件的最大大小,默认为:10000000(10M)

 

 

解决方法:

 

1. 修改mapreduce.jobtracker.split.metainfo.maxsize参数值,但需要重启jobtracker才能生效;

2. 该问题的根本原因还是因为input小文件或者目录太多导致的,所以建议合并小文件;

相关标签: hadoop hive