nutch1.2常见问题解决

这里是将前边几篇当中的一些常见问题进行下总结,都是自己遇到并解决的,也许是不全

1、缺少chmod命令异常

            因为nutch在window下运行时需要linux某些命令,所以要装cgywin是必须的,再配上path中的bin环境变量就可以了。

2、多个job failed

     (1)最常见的是由于抓取数据时比较耗内存,故需要稍微大些内存,可以在选择设置系统的jvm memory(myeclipse --> windos -->preferences --> java --> installed jre --> default jvm memory -->其值设为-Xms256 -Xmx1000m就可以了),也可以设置该crawl的jvm(右击myeclipse中的该nutch项目-->run as --> run configuration --> 选第二个标签的arguments --> jvm memory --> -Xms256m -Xmx1000m)都可以。

         (2)还有一种是在nutch中conf下的nutch-default.xml中的plugin.folders配置,若是在myeclipse下的运行java文件,如常用的Crawl.java,就要修改nutch-default.xml中的plugin.folders为(./src/plugin,注意此处不是./src/plugins,此处原值是plugins),而当你要ant该源文件成发布版时,就要修改成原样即值要为plugins才可以,两种不同情况,所寻找的路径是不一样的,一定要这样修改,不这样的话,会引起你的重新ant的nutch-1.2.war无法运行,出现ClassNotFoundException等问题。

          (3)还有就是由于配置crawl-urlfilter.txt文件弄错,此处出错的机会不多,尽量不要多改,只改最后边的匹配就可以了,如改成全部抓取,即(+^)就可以了。

3、运行某个类或nutch1.2.war时出现某个Class找不到,多是因为你对nutch的组件进行了修改,对我来说,就是用IK替代nutch自带的分词组件时出现了这样的问题,因为你修改了分词组件之后,还需要注册进IKtokenlyzer中两个特别的属性,本身是不会报错,你ant时就会出问题,提示某个attribute找不到等,注意这时要修改IK的源代码,中的IKTokenlyzer,加入两个属性就可以了,paoding分词加一个属性就可以了,我在这里贴出来一下IK的,在IK的lucene的包下的IKTokenizer.java

    private PositionIncrementAttribute posIncrAtt;

     private TypeAttribute typeAttr;

    public IKTokenizer(Reader in , boolean isMaxWordLength) {

         super(in);

         offsetAtt = addAttribute(OffsetAttribute.class);

         termAtt = addAttribute(TermAttribute.class);

         posIncrAtt = addAttribute(PositionIncrementAttribute.class);

         typeAttr = addAttribute(TypeAttribute.class);

         _IKImplement = new IKSegmentation(in , isMaxWordLength); 

     }

能想起来的暂时就这么多了,有时间再补些了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值