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可以告知。