nutch 部署到eclipse常见错误

Nutch部署到eclipse常见错误

Failed to set permissions of path: \tmp\hadoop-hadoop\mapred\staging\hadoop1847455384\.staging to 0700

之前在eclipse上部署hadoop时好像也遇到过这个问题。但是,现在已经不知道怎么解决了。

所以,笔记很重要!!!

方法1

  1. 注释掉

<target name="create-native-configure">

<exec executable="autoreconf" dir="${native.src.dir}" searchpath="yes" failonerror="yes">  <arg value="-if"/>

</exec>

  </target>

  1. 去掉compile-core-native

  <target name="compile-core-native" depends="create-native-configurecompile-core-classes"

 if="compile.native">

中的create-native-configure依赖

3、修改hadoop-1.1.2/src/core/org/apache/hadoop/fs/FileUtil.java 691行,把throw new IOException改为LOG.warn

4、用ant编译项目,编译成功后从build文件夹中取出hadoop-core.jar文件夹,放入我们eclipse中的hadoop项目中,替换项目中原有hadoop-core.jar,放入lib文件夹下。再通过buildpath添加jar包。

方法2

不用修改build.xml,直接修改FileUtil.java文件中的“checkReturnValue(rv, f, permission);”,直接注释掉,再用ant命令编译一遍即可产生hadoop-core.jar包,同样将hadoop-core.jar替换掉项目中hadoop-core.jar

 

继解决了上一个异常Failed to set permissions of path:之后,运行文件又出现异常:

运行参数为:urls -dir crawl -depth 2 -topN 2

异常为:

Input path does not exist: file:/E:/qjay/wrokespace2013/trunk/-dir

这个错是由于未正确指定参数Program arguments导致的。来来去去就这么几个错,折腾了一天。深刻体会到,有时候想问题真的不要那么狭隘,要敢于大胆假设。从没想过是Program arguments的问题。。。不过找到问题了就快了。

Eclipse查看hadoop源代码

Eclipse查看hadoop源代码导入不成功。以hadoop-1.2.1.tar.gz为例,我们先解压hadoop项目,然后在压缩成zip格式的文件,导入即可成功。

total number of urls rejected by filters: 0

我遇见的这个问题并不是由于程序本身问题导致的,而是因为传递配置参数时没写正确。

eclipse中运行injector类时,传的参数应当为:

Main class: org.apache.nutch.crawl.Injector

VM arguments: -Dhadoop.log.dir=logs -Dhadoop.log.file=hadoop.log

Program arguments: crawldb urls

继续运行,这次会发现已经开始报错了。很好,报错是好事,害怕的就是它不报错。能报错就好办了,继续解决下边这个异常:

nutch java.lang.Exception: java.lang.RuntimeException: Error in configuring object

nutch部署过程中出现了下面错误,主要是没有正确配置插件导致的,可以通过设置nutch-site.xml文件的plugin.folders属性解决问题

 修改confnutch-default文件将plugin.folders的值由plugins修改为./src/plugin

因为plugin文件在src目录下。

 

你可能感兴趣的:(nutch 部署到eclipse常见错误)