在Eclipse中調試運行Nutch

來源:互聯網
上載者:User

昨天花了一天時間都沒有搞定Nutch(nutch 0.8版本)。今天終於在同學提示下搞定了。總結一下這個噁心的東西,免得其他同志們再浪費寶貴的生命。

注意你遇到問題肯定都是配置問題,不可能是來源程式的問題,要不然nutch就肯定運行不了了。通常在控制台運行nutch是沒有問題的。至於具體的運行Crawl參考:nutch 0.8 tutorial。關鍵的配置有conf下面的nutch-site.xml, hadoop-site.xml。其中nutch-site.xml和had-oop-site.xml裡面的設定分別覆蓋nutch-default.xml和hadoop-default.xml裡面的值。

1、首先參考官方網站的匯入操作(如果不是很熟悉的話一定要參考,免得浪費時間),詳見:RunNutchInEclipse,注意按照這種方式匯入的時候會將所有的jar都添加到classpath底下。我個人覺得nutch-0.8.1.jar需要移除,其實這個就是所有源檔案打成了分發的jar包。

2、刪除src/test原始碼下面的nutch-site.xml。否則在啟動並執行時候會載入多個nutch-site.xml,而你不修改所有的nutch-site.xml的話,天知道它到底載入了哪一個。nutch的開發人員也是很搞笑,故意在test地下放這個檔案,讓大家犯錯。可是浪費哥一天的時間啊,當然也是技術不過關了,居然還是沒有發現這個錯誤。

3、按照官方文檔運行Crawl,如果運行還是沒有結果的話,那就是要在nutch-site.xml的configuration下增加一個http.agent.name節點:

<property>

<name>http.agent.name</name>

<value>test</value>

</property>

其實這個資訊是在tutorail裡面有說到的。

按照上面三個步驟來做的話照理來說是沒有問題了。

我還遇到一個問題就是,我在Linux伺服器上只是普通使用者,所以運行nutch的時候還會出現這麼一個錯誤:“沒有對什麼/tmp/……檔案夾的許可權操作”。最簡單的解決辦法就是跟管理員說提升許可權為root了。如果這個不行的話,那就有一個更好的方法:修改hadoop-site。怎麼修改呢?首先在hadoop-0.4.0-patched.jar下可以找到hadoop-default.xml,開啟這個檔案,然後將裡面對應設定成/tmp/……值得屬性全部拷貝出來,然後將它們粘貼到hadoop-site.xml裡面,將值全部設成你有許可權的檔案夾就可以了。這個方法照理來說是可以的,如果還是不行的話,那就直接把hadoop-default.xml裡面的值修改掉好了,具體方法是將該檔案解壓出來(不會?直接用解壓管理器就好了),然後修改相應的值,接著再添加進去,就可以覆蓋掉原來的。

問題就這些吧,記住一定是配置問題。在運行過程中出現問題的話,首先要看看哪些設定檔載入了,如果好幾個相同名字的設定檔載入了,最好把多餘的去掉,因為你無法確定類載入器到底載入了那個配置。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.