1、问题 permission /tmp/hadoop....
解决要领:下载hadoop源码包,改削org.apache.hadoop.fs.FileUtil.java文件中要领checkReturnValue内容。将异常改为log。用意:不在检测文件系统路径问题
private static void checkReturnValue(booleanrv, File p,
FsPermission permission
) throws IOException {
if (!rv) {
LOG.debug("Failed to set permissions of path: " + p+
" to "+
String.format("o",permission.toShort()));
}
}
替换过程:(一个伴侣也在eclipse下面搞的,然后就替换了,但是还抱了个错,原因是把jar包直接放到了项目的Liberty下,所以我在这儿添加了替换过程。)
在eclipse下面不是简单的添加到Liberaries下面就可以的。eclipse下项目使用的是ivy这个插件对jar包进行的打点,所以所有第三方jar的引入都是ivy的事情。
ivy有一个存放jar文件的默认路径,可改削,至于如何改削我就不在这儿论述了,这个默认路径是C:\Documents andSettings\Administrator\.ivy2\cache,
所以我们替换hadoop的jar包的时候也改削在这儿替换,这儿替换有两种要领:
一种是直接打开hadoop目录下的jar目录,然后替换失项目使用的阿谁版本的jar(检察项目下的ivy.xml可知),
并将替换后的jar文件的名称改削为之前的阿谁jar的名称。
另一种就是像其他jar文件一样,有哪些文件就复制哪些文件,然后把文件名都改削为我们从头编译后的jar的文件名,把我们从头编译后的jar放到jar文件夹下面。
注意从头编译hadoop后需要提取的jar的路径,别取错了。必然是build目录下的。
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这个属性的属性值。如下:
plugin.folders
./plugins
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一下!