在根目录下的build.xml中找到如下代码
<target depends="clean-lib, init" description="--> resolve and retrieve dependencies with ivy">
<ivy:resolve file="${ivy.file}" conf="default" log="download-only" />
<ivy:retrieve pattern="${build.lib.dir}/[artifact]-[revision].[ext]" symlink="false" log="quiet" />
<antcall target="copy-libs" />
</target>
将pattern="${build.lib.dir}/[artifact]-[revision].[ext]"替换为pattern="${build.lib.dir}/[artifact]-[type]-[revision].[ext]"
步骤8:配置抓取url
在test项目下创建文件夹urls,在urls下创建文件seeds.txt ,写你要抓取的网站。我写的是。
步骤9:运行org.apache.nutch.crawl.Crawler
打开Crawler文件,“Run As” -> “Run Configurations” ,在“Arguments”选项卡的“Program Arguments”,输入 “urls -depth 3 -topN 5”,点"Run"。哈哈,报错了吧。报错信息类似于“ Failed to set permissions of path: \tmp\Hadoop-Administrator\mapred\staging\Administrator1712398257\. ”的错误。这是hadoop的一个问题。解决方法是,修改/hadoop-1.0.2/src/core/org/apache/hadoop/fs/FileUtil.java里面的checkReturnValue,注释掉即可。当然最简单的办法是在网上找一个修改过的包,替换一下FileUtil.class。
再次运行,哈哈 执行成功到此结束。
祝各位好运吧。
遇到的问题:
1 报 Exception in thread "main" java.lang.RuntimeException: job failed: name=parse, jobid=job_local_0004
根据在网上查到的问题可能很多首先 nutch-default.xml 中配置 <name>plugin.folders</name><value>./src/plugin</value>
其次查找 hadoop.log文件。