nutch-1.2爬取時Exception in thread “main” java.io.IOException: Job failed!

來源:互聯網
上載者:User

用cygwin運行nutch 1.2爬取提示IOException:

$ bin/nutch crawl urls -dir crawl -depth 3 -topN 10crawl started in: crawlrootUrlDir = urlsthreads = 10depth = 3indexer=lucenetopN = 10Injector: starting at 2011-10-10 15:19:26Injector: crawlDb: crawl/crawldbInjector: urlDir: urlsInjector: Converting injected urls to crawl db entries.Exception in thread "main" java.io.IOException: Job failed!        at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1252)        at org.apache.nutch.crawl.Injector.inject(Injector.java:217)        at org.apache.nutch.crawl.Crawl.main(Crawl.java:143)

網上提供的解決方案都是換成0.9的,經過多次搜尋,終於找到了問題的原因:語言設定問題。解決方案如下:

方法一:

重新安裝Cygwin,換一個國外的映像,(163的映像是漢化版的)

方法二:

Cygwin Shell裡邊直接set LANG=en_US是沒作用的,好像cygwin shell不支援set命令,而Cygwin也沒有locale命令。

於是到”系統屬性>進階>環境變數”中增加一個環境變數名為LANG,將值設為en_US

方法三:

讓cygwin shell使用英文介面只用在~/.bashrc這個檔案裡面加上一句話:

export LANG='en_US'

如果想使用其他介面,把en_US改成其他語言對應的地區代碼就行了,比如說zh_CN。其實LANG的“完全體”是“地區.編碼”這樣的結構。所以如果要想自己設定編碼,還需要在zh_CN的後面加上編碼——這裡用GBK來說明——使其變成zh_CN.GBK

在這裡我們要讓介面是英文同時能讓中文也能顯示,所以將LANG設定成en_US.GBK

到此介面語言修改完成,簡單吧?事情沒那麼簡單,在cygwin下面,只做這樣的設定,會讓vi等軟體出現匪夷所思的現象,難道是……開啟檔案不對?No,其實語言的設定還沒完。執行locale命令,會返回給你目前所有語言設定,可以說有關語言設定的項目還是挺豐富的嘛,LC下還有許多要設定的,不過LC下面有一個LC_ALL,看樣子設定他就行了,.bashrc加上一句:

export LC_ALL='en_US.GBK'

可以在修改前後用df等命令查看下有無中文

參考:http://owwlo.com/blog/?p=36#comment-38

http://blog.csdn.net/a221133/article/details/7043318

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.