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

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

$ bin/nutch crawl urls -dir crawl -depth 3 -topN 10
crawl started in: crawl
rootUrlDir = urls
threads = 10
depth = 3
indexer=lucene
topN = 10
Injector: starting at 2011-10-10 15:19:26
Injector: crawlDb: crawl/crawldb
Injector: urlDir: urls
Injector: 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

你可能感兴趣的:(thread,exception,shell,语言)