以前在eclipse上部署hadoop時好像也遇到過這個問題。可是,如今已經不知道怎麼解決了。java
因此,筆記很重要!!!apache
註釋掉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
去掉compile-core-native插件
<target name="compile-core-native" depends="create-native-configure,compile-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包。
不用修改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
異常爲:
這個錯是因爲未正確指定參數Program arguments致使的。來來去去就這麼幾個錯,折騰了一天。深入體會到,有時候想問題真的不要那麼狹隘,要勇於大膽假設。從沒想過是Program arguments的問題。。。不過找到問題了就快了。
Eclipse查看hadoop源代碼導入不成功。以hadoop-1.2.1.tar.gz爲例,咱們先解壓hadoop項目,而後在壓縮成zip格式的文件,導入便可成功。
我碰見的這個問題並非因爲程序自己問題致使的,而是由於傳遞配置參數時沒寫正確。
在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部署過程當中出現了下面錯誤,主要是沒有正確配置插件致使的,能夠經過設置nutch-site.xml文件的plugin.folders屬性解決問題
修改conf下nutch-default文件將plugin.folders的值由plugins修改成./src/plugin
由於plugin文件在src目錄下。