博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nutch搏斗之一
阅读量:6847 次
发布时间:2019-06-26

本文共 1187 字,大约阅读时间需要 3 分钟。

nutch搏斗之一

问题描述: 
在用nutch1.0做generate 包括5亿url的crawldb时,它默认按照64M分块,分成777个map task,在运行的后期出现 
Could not find taskTracker/jobcache/job_200903231519_0017/attempt_200903231519_0017_r_000051_0/output/file.out in any of the configured local directories 
异常。 
解决办法: 
减小task数目,改成按照crawldb里面文件个数划分的策略: 
Java代码 
  1. public static class InputFormat extends SequenceFileInputFormat<WritableComparable, Writable> {  
  2.    /** Don't split inputs, to keep things polite. */  
  3.    public InputSplit[] getSplits(JobConf job, int nSplits)  
  4.      throws IOException {  
  5.      FileStatus[] files = listStatus(job);  
  6.      FileSystem fs = FileSystem.get(job);  
  7.      InputSplit[] splits = new InputSplit[files.length];  
  8.      for (int i = 0; i < files.length; i++) {  
  9.        FileStatus cur = files[i];  
  10.        splits[i] = new FileSplit(cur.getPath(), 0,  
  11.            cur.getLen(), (String[])null);  
  12.      }  
  13.      return splits;  
  14.    }  
  15.  }  
这次出现了新问题,有数个task因为十分钟无反应而导致整个任务failed 
解决办法: 
修改hadoop-site.xml 
Java代码 
  1. <property>  
  2.   <name>mapred.task.timeout</name>  
  3.   <value>3600000</value>  
  4.   <description>The number of milliseconds before a task will be  
  5.   terminated if it neither reads an input, writes an output, nor  
  6.   updates its status string.  
  7.   </description>  
  8. </property>  
总结: 
大与小,多与少,长与短,在不同的情况下是不断变化的,对于大数据量而言,更要跟具实际情况灵活变化,所谓运用之刀,存乎一心是也!

转载地址:http://hjoul.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
我的友情链接
查看>>
linux 下安装zip
查看>>
我的友情链接
查看>>
python-标示符和关键字
查看>>
使用递归解决斐波那契数列的性能问题
查看>>
Springboot之整合Fastdfs
查看>>
【Perl】perl正则表达式中的元字符、转义字符、量词及匹配方式
查看>>
用带余除法可以解决一切部分分式的题目
查看>>
10部电影教你6大沟通术-泡妞MM
查看>>
JQuery 左右拖动插件
查看>>
[转]获取js函数的名称
查看>>
笔记本的拆卸
查看>>
最长递增子序列LIS再谈
查看>>
【Text Editor】文本编辑器:Sublime Text
查看>>
C语言 判断字符串是否回文
查看>>
改变echarts中tooltip的宽度以及换行
查看>>
js中伪数组
查看>>
【ZZ】超全面的设计模式总结
查看>>
连续特征离散化和归一化
查看>>