nutch 部署到eclipse常見錯誤

Nutch部署到eclipse常見錯誤

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

以前在eclipse上部署hadoop時好像也遇到過這個問題。可是,如今已經不知道怎麼解決了。java

因此,筆記很重要!!!apache

方法1

  1. 註釋掉eclipse

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

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

</exec> url

  </target>spa

  1. 去掉compile-core-native插件

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

 if="compile.native">xml

中的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目錄下。

相關文章
相關標籤/搜索