nutch2.x在eclipse+windows环境下运行遇到的一些问题的解决方案
Posted 星朝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nutch2.x在eclipse+windows环境下运行遇到的一些问题的解决方案相关的知识,希望对你有一定的参考价值。
1、问题 permission /tmp/hadoop....
解决方法:下载hadoop源码包,修改org.apache.hadoop.fs.FileUtil.java文件中方法checkReturnValue内容。将异常改为log。用意:不在检测文件系统路径问题
2、org.apache.gora.sql.store.SqlStore NotFound问题
此问题只在nutch2.2中存在,2.1中配置文件ivy.xml已经做了依赖配置,所以不会出现这个问题。
此类问题还有com.healthmarketscience.sqlbuilder.dbspec.Column找不到。
解决方法:配置ivy.xml,将下面一行的注释去掉。
4.问题;com.mysql.jdbc.DriverNotFound
原因:gora.properties文件中的属性值不能有任何空格,否则出现莫名其妙的问题。nutch的容错机制不太严谨。
解决方法:查看gora.properties文件属性值,是否配置有问题,尤其空格。严格排查。没行的前后空格都不行。我因为这个空格导致我搞了2天,真扯。。
5.问题:job failed: name=inject urls,jobid=job_local_0001
刚开始搭建,类似问题出现的频率最多,出现类似这样的问题我们第一想到的应该是hadoop.log这文件,而不是只看控制台。通过hadoop.log日志记录文件具体问题具体对待。下面这个解决方法只是我遇到的一个问题的权宜之计,只供参考。不要误导大家。
总结:此类问题一般是因为程序捕获到了异常,然后异常中断job后出现的。只要从hadoop.log中找到具体的问题所在,一般不会有什么问题。
解决方法:两种。
1).nutch-site.xml中取消对plugin的配置。不要使用插件的时候不会报错,可能其中某些插件存在问题。这种情况在ant之后执行runtime/local/bin下的nutch时可排除。
2).nutch2.2要修改掉ivy.xml中的gora-core依赖包的版本,修改为0.2.1
6.java.lang.OutOfMemoryError: Java heap space
这个问题才是真正导致上面第5个问题的直接原因。问题描述是在hadoop.log中看到的。
解决方法:运行参数vm arguments 添加:-Xms800m -Xmx800m
7.查看问题方法:不要总看控制台,控制台的信息不能完全解决问题,也不能完全定位问题,只能通过根目录的hadoop.log文件查看日志信息。
8、x point org.apache.nutch.net.URLNormalizer notfound.
这个错是一个朋友测试nutch的时候遇到的。类似这样的问题,看看是不是插件中的类,如果是nutch插件中的类,可以肯定这些错是因为没有找到插件的原因。
解决方案:build项目之后,必须把项目的根目录下面的build文件夹复制到项目的根目录下面。然后刷新eclipse中的项目。然后还需要修改一个配置参数。
nutch-site.xml中修改plugin.folders这个属性的属性值。如下:
9.java.lang.NoSuchMethodError: org.apache.gora.persistency.Persistent.getSchema()Lorg/apache/avro/Schema
Solved. You must add correct version of gora-hbase to you libraries. gora-hbase-0.3.jar
总结;初次接触,控制台给的问题不全面,只能Debug,后来发现用观看”hadoop.log“文件可以清晰看到问题所在,这点非常重要,再次Mark一下!
以上是关于nutch2.x在eclipse+windows环境下运行遇到的一些问题的解决方案的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Hadoop2 上运行 Nutch2(Nutch 2.x + Hadoop 2.4.0 + HBase 0.94.18 + Gora 0.5 + Avro 1.7.6)
Windows系统调用中API的3环部分(依据分析重写ReadProcessMemory函数)
Windows 上的 WireGuard:无法创建 Wintun 接口:注册环时出错:列出 NDIS 接口时出错:找不到接口