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里面文件个数划分的策略:

  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

  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>

总结: 
大与小,多与少,长与短,在不同的情况下是不断变化的,对于大数据量而言,更要跟具实际情况灵活变化,所谓运用之刀,存乎一心是也!

nutch搏斗之一的更多相关文章

  1. Nutch搜索引擎(第1期)_ Nutch简介及安装

    1.Nutch简介 Nutch是一个由Java实现的,开放源代码(open-source)的web搜索引擎.主要用于收集网页数据,然后对其进行分析,建立索引,以提供相应的接口来对其网页数据进行查询的一 ...

  2. Nutch插件原理

    本文目的:讲解Nutch的插件运行时加载原理

  3. Apache Nutch build文件解析

    本文目的:分析Apache Nutch 1.9的build.xml文件,从而让读者了解nutch的build全部流程

  4. Nutch主要类代码分析之一(Injector)

    Injector(org.apache.nutch.crawl.Injector): 输入:种子列表文件所在的目录 输出:crawldb(保存URL以及其相应信息的数据库) 作用:把种子URL注入到c ...

  5. 读取nutch爬取内容方法

    读取nutch内容有如下两种方法: 1 通过Nutch api SegmentReader读取. public Content readSegment(String segPath,String ur ...

  6. Nutch源码阅读进程5---updatedb

    看nutch的源码仿佛就是一场谍战片,而构成这精彩绝伦的谍战剧情的就是nutch的每一个从inject->generate->fetch->parse->update的环节,首 ...

  7. Nutch源码阅读进程4---parseSegment

    前面依次看了nutch的准备工作inject和generate部分,抓取的fetch部分的代码,趁热打铁,我们下面来一睹parse即页面解析部分的代码,这块代码主要是集中在ParseSegment类里 ...

  8. Nutch源码阅读进程3---fetch

    走了一遍Inject和Generate,基本了解了nutch在执行爬取前的一些前期预热工作,包括url的过滤.规则化.分值计算以及其与mapreduce的联系紧密性等,自我感觉nutch的整个流程是很 ...

  9. Nutch源码阅读进程2---Generate

    继之前仓促走完nutch的第一个流程Inject后,再次起航,Debug模式走起,进入第二个预热阶段Generate~~~   上期回顾:Inject主要是将爬取列表中的url转换为指定格式<T ...

随机推荐

  1. 手机端viewport的设置规范

    <meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, maximum-scale ...

  2. 阿里巴巴 web前端性能优化进阶路

    Web前端性能优化WPO,相信大多数前端同学都不会陌生,在各自所负责的站点页面中,也都会或多或少的有过一定的技术实践.可以说,这个领域并不缺乏成熟技术理论和技术牛人:例如Yahoo的web站点性能优化 ...

  3. Unity3D NGUI,uGUI总结

    跪求官方UI系统(2014年11月底已出,用原生的比用NGUI放心) uGUI注意点 1.要防止多个canvas叠加点击穿透,canvas里面的graphics raycaster调整到恰当选项 2. ...

  4. 快速排序原理、复杂度分析及C语言实现

    本文作者华科小涛:@http://www.cnblogs.com/hust-ghtao/,参考<算法导论>,代码借用<剑指offer> 快速排序是一种最坏情况时间复杂度为的排序 ...

  5. UVA 11464 - Even Parity(枚举方法)

    D Even Parity Input: Standard Input Output: Standard Output We have a grid of size N x N. Each cell ...

  6. c#1所搭建的核心基础之类型系统的特征

    类型系统的特征简介 几乎每种编程语言都有某种形式的一个类型系统.类型系统大致被分为:强/弱,安全/不安全,静态/动态,显式/隐式等类型. c#在类型系统世界中的位置 c#1的类型系统是静态的.显式的和 ...

  7. 在 SSIS package 中使用FTP

    在ssis 包中使用FTP 实际上很简单, 直接拿一个FTP控制流(FTP 任务) ,配置一下FTP 服务器就可以了, 但是当我想在SQL Server Job 中使用这个功能时却报了个错(如下), ...

  8. Visual Studio的SDK配置

    Visual Studio的SDK Visual Studio 6.0自带的SDK是1998年的,目录为C:\Program Files\Microsoft Visual Studio\VC98\,这 ...

  9. Java调用cmd命令 打开一个站点

    使用Java程序打开一个站点 近期做了个东西使用SWT技术在一个client程序 须要升级时在提示升级 点击窗口上的一个连接 打开下载网页 花费了我非常长时间 用到了把它记录下来  怕是忘记,须要时能 ...

  10. Delphi结构中使用String时遇到的内存泄露问题(没有利用String的引用计数自动销毁字符串的功能)

    先定义一个结构: TUserInfo = record  UserID: Integer; // 用户编号  UserName: string; // 用户名end; 然后编写如下代码: proced ...