在 Eclipse3.3 下运行 Nutch 0.9(解决Generator: 0 问题)

Platform: Ubuntu 7.04, JDK 1.6.3, Nutch 0.9, Eclipse 3.3

 

1、 Nutch 0.9 with Eclipse 3.3 in Ubuntu
     参看Nutch的官方文档 ,里面说得很详细了,这里不在赘述。


2、导入hadoop的源代码和,可方便在Eclipse中调试代码和查看API文档。具体方法如下:
     Project properties--> Java Build Path-->Libraries-->hadoop-0.12.2-core.jar,点击前面三角符号,展开编辑 Source attachment , 选择hadoop相应版本的src

 

3、 配置Native-hadoop Library,可以提高运行效率,但是调试环境下关系不大,不配置也可。

      Project properties--> Java Build Path-->Libraries-->hadoop-0.12.2-core.jar,点击前面三角符号,展开 编辑 Native library location,加入nutch-0.9/lib/native/Linux-i386-32 即可。

 

4、解决 “Generator: 0 records selected for fetching, exiting ...”问题

    经过上面的配置,已经可以在Eclipse环境中启动Nutch了,但是程序却不能正常运行,而出现一个 "Generator: 0 records selected for fetching, exiting ..."报告,程序终止。

   经过调试, 发现运行到 Generator.java:424 :

if (readers == null || readers.length == 0 || !readers[0].next(
     new FloatWritable())) {


   LOG.warn("Generator: 0 records selected for fetching, exiting ...");

   由于 readers[0].next( new FloatWritable() )为false而导致该错误的出现。网上相关文章提出适用NUTCH-503解决该问题,但是该补丁针对的是分布式部署时出现的问题,在这里并不适用,而且经测试也不能解决问题。

解决方法

     将tmp_build,也就是项目的默认输出目录(default output folder)下的 nutch-site.xml 文件删掉 或者将该文件中下列属性注释掉。
<property>
  <name>plugin.includes</name>
  <value>.*</value>
  <description>Enable all plugins during unit testing.</description>
</property>



====================================

  由于接触Nutch时间不长,问题的前因后果并不明了,希望知道的sdjm可以告知。

你可能感兴趣的:(eclipse,jdk,hadoop,linux,ubuntu)