`

nutch 发布时要注意的问题

 
阅读更多

在利用Nutch自身的ant打包后,如果对整个项目不太清楚结构,往往出现很多奇怪的问题。这里就是遇到了。。。

 

*打job后,留在该项目中进行测试时,出现:

org.apache.nutch.plugin.PluginRuntimeException: java.lang.ClassNotFoundException: org.apache.nutch.net.urlnormalizer.basic.BasicURLNormalizer

此情况一般是在nutch-site.xml中plugin.folders还是保留在IDE的配置,比如写成绝对路径。

 由于bin/nutch配置是conf下的配置优先于job里的(nutch文件是将conf先添加到classpath的,所以优先),所以job中的没有起到作用。

cause?

 

*异常:

java.lang.NullPointerException
        at org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerField.java:126)

 

同样也是由plugin.folders配置不当引起的。

由于默认情况下,nutch下的plugin没有分词插件(当然plugin.includes也不会出现该插件名称),所以如果你后来在includes下添加了analysis-zh时(folder还是默认的plugins),当进行中文搜索/索引时就会出现这个异常。开始觉得很奇怪,因为原本在IDE是正常的,但在外面跑的时候就有问题,找了很久,教训很深刻。

从nutch文件分析知道,它会把build/plugins添加到classpath中,再结合PluginManifestParser#getPloginFolder(),如果此目录在classpath中并且它是一个相对目录时,会直接返回它;另外在打job包时,并不会将编译的新plugins目录覆盖原plugins,所以如果使用默认的值便出现此异常。

 后来我将它设置为build/plugins便可以正常动作。

 当然了,如果在产品环境下,并不存在build目录,同时如果删除plugins目录的话就可以利用job中的了,运行就没问题。

 

总之,分析问题时应该从流程上着手,找代码查原因。

 

 

分享到:
评论

相关推荐

    Nutch使用指南(英文)

    ### Nutch 使用指南 #### 一、概述 Nutch 是一个开源项目,旨在帮助用户构建自己的内部网...需要注意的是,在实际部署过程中可能还会遇到各种问题,如性能调优、故障排查等,这些都需要根据具体情况进行调整和优化。

    Nutch插件开发和服务器发布流程

    - 需要注意的是,插件的类应该遵循Nutch的命名规范,确保与其他模块兼容。 **3. 创建插件目录** - 在`nutch/plugin`目录下创建一个名为`index-self`的新目录,用于存放即将创建的插件文件。 - 该目录将包含`build....

    Hadoop之父Doug Cutting.pdf

    在这个过程中,Google发布的GFS(Google File System)和MapReduce引起了Cutting的注意。这两项技术为大规模数据处理提供了强大的平台,激发了Cutting创建Hadoop的灵感。 Hadoop是基于GFS和MapReduce概念的开源实现...

    一个专业搜索公司关于lucene+solar资料(1)

    - 针对音乐文件的抓取,需要注意版权问题。 - 可以通过API或网页爬虫的方式获取。 - **3.1.4 RSS抓取** - RSS(Really Simple Syndication)是一种用于共享网站内容的技术。 - 通过RSS订阅源可以方便地获取最新...

    solr入门指南

    - 注意:GNU 的 GCJ 不支持 Solr。 2. **Solr 发布版**: - 需要下载 Solr 的发布版本。 #### 三、开始使用(Getting Started) 1. **运行环境**: - 浏览器和 Solr 服务器需在同一台机器上运行,以确保教程中...

Global site tag (gtag.js) - Google Analytics