Nutch1.7如何配置到eclipse

这篇文章主要介绍Nutch1.7如何配置到eclipse,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

目前创新互联已为近1000家的企业提供了网站建设、域名、网络空间、网站托管、服务器租用、企业网站设计、琼结网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

进入正题:

1、将nutch项目部署到eclipse
首先到nutch官网上找到FAQ链接http://wiki.apache.org/nutch/FAQ,进入链接
点击第二个链接查看。

参照文档进行配置,有卡壳不明白的地方,继续在网上针对具体问题查找资料。集成时可参照http://blog.csdn.net/witsmakemen/article/details/8866235。
运行之前必须有一下先决条件:
A、在windows上安装配置Apache Ant,http://ant.apache.org/manual/index.html
B、安装Eclipse,这个不用说肯定是必须的。
C、在Linux安装svn。目的:迁出nutch2.7源代码。
D、在Linux下检出nutch2.7代码
[root@nutch-five branch-1.7]# svn co http://svn.apache.org/repos/asf/nutch/branches/branch-1.7/
E、在Linux安装ivy插件。目的,根据ivy配置文件动态下载jar包。
F、编译branch2.7

[root@nutch-five branch-1.7]# ant

2、在Linux下执行ant命令编译源代码:ant

3、编译成功后,将trunk文件夹复制到windows中,导入eclipse

A、eclipse : File -- New -- Java Project


B、点击NEXT
找到 conf 文件夹 ,然后点击 Add Folder 'conf' to build path

defautl output 设置为 apache-nutch-1.7/conf
在这儿我因为不能创建conf,所以写为conf

点击Finish
至此,建立成功。




C、此时会发现工程有错误(红色的小叉叉),这是因为缺少引用导致。
以parse-html为例:
import org.cyberneko.html.parsers.*;
这里报错是因为缺少 nekohtml-0.9.5.jar
如何获取nekohtml-0.9.5.jar:
找到runtime/local/plugins/lib-nekohtml/nekohtml-jar,单击右键add to build path,其他bug以此类推。
在 这儿一共要的jar包大概有,runtime/local/plugins/lib-nekohtml/nekohtml-jar、runtime /local/plugins/parse-html/tagsoup.jar、runtime/local/plugins/feed /rome.jar(解决了com.sun.syndication.io.SyndFeedInput报错问题)、runtime/local /plugins/urlfilter-automaton/automaton.jar(解决 dk.brics.automaton.RunAutomaton报错问题)
至此整个工程将应该不会有错了。
4、新建文件夹urls
在文件夹内新建文件url,存放待抓取网址
如:http://www.163.com/
5、运行程序


6、报异常:
ERROR security.UserGroupInformation (UserGroupInformation.java:doAs(1193)) - PriviledgedActionException as:hadoop cause:java.io.IOException: Failed to set permissions of path: \tmp\hadoop-hadoop\mapred\staging\hadoop1071373990\.staging to 0700
解决方案:
下 载hadoop的源代码,重新编译hadoop的hadoop-core.jar包,替换掉nutch项目中的hadoop-core.jar的jar 包。(注意:下载时先确定nutch引用的hadoop的哪个版本的jar包,然后下载对应版本。在runtime/local/lib中可以找到对应 hadoop的jar包。)
下载hadoop源代码:
下载链接:http://apache.dataguru.cn/hadoop/common/hadoop-1.2.1/

1、注释掉build.xml中的

 

 

2、去掉compile-core-native中的create-native-configure依赖
 if="compile.native">
3、修改hadoop-1.1.2/src/core/org/apache/hadoop/fs/FileUtil.java 691行,把throw new IOException改为LOG.warn
4、用ant编译项目,编译成功后从build文件夹中取出hadoop-core.jar文件夹,放入nutch项目中,替换项目中原有hadoop-core.jar,放入build/lib文件夹下。再通过buildpath添加jar包。
添加完毕后,运行测试
7、继续运行,继续报错
java.lang.RuntimeException: Error in configuring object

解决方案:
将nutch-default.xml中的

 plugin.folders
 ./src/plugin
Directories where nutch plugins are located.  Each
element may be a relative or absolute path.  If absolute, it is used
as is.  If relative, it is searched for on the classpath.


红色处改一下就可以了。
参照上边的运行方法,继续运行测试,产生异常:
java.net.SocketException: Software caused connection abort: recv failed
解决方案:
链接不成功,可以忽略,对程序没有影响。
至此,nutch在eclipse中集成成功。

相关异常:
ERROR security.UserGroupInformation (UserGroupInformation.java:doAs(1193)) - PriviledgedActionException as:hadoop cause:java.io.IOException: Failed to set permissions of path: \tmp\hadoop-hadoop\mapred\staging\hadoop1071373990\.staging to 0700
解决方案:
重新编译hadoop的hadoop-core.jar包,替换掉nutch项目中的hadoop的jar包
1、注释掉build.xml中的

 

 

2、去掉compile-core-native中的create-native-configure依赖
 if="compile.native">
3、修改hadoop-1.1.2/src/core/org/apache/hadoop/fs/FileUtil.java 691行,把throw new IOException改为LOG.warn
4、用ant编译项目,编译成功后从build文件夹中取出hadoop-core.jar文件夹,放入nutch项目中,替换项目中原有hadoop-core.jar,放入build/lib文件夹下。再通过buildpath添加jar包。
添加完毕后,运行测试
源码环境搭建时发现sun.net.util.ipaddressutil的包没有
sun.net 包里的类,在eclipse里默认是不让用的。解决办法是自定义access rules工程上右键->工程属性->java builder path->Libraries标签,点击JRE System Library里面的Access rules,add sun/** 为accessible,如果该项存在,就edit。

以上是“Nutch1.7如何配置到eclipse”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


文章标题:Nutch1.7如何配置到eclipse
当前网址:http://scyanting.com/article/gpigse.html