zoukankan      html  css  js  c++  java
  • nutch2.x在eclipse+windows环境下运行遇到的一些问题的解决方案

    1、问题 permission /tmp/hadoop....
    解决方法:下载hadoop源码包,修改org.apache.hadoop.fs.FileUtil.java文件中方法checkReturnValue内容。将异常改为log。用意:不在检测文件系统路径问题
     private static void checkReturnValue(boolean rv, 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 and SettingsAdministrator.ivy2cache,
      所以我们替换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.Driver NotFound 
    原因: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
    3)“Build Path” -> “Configure Build Path”-->“Order and Export” tab, scroll down and select “2.x/conf” (or trunk/conf). Click on “Top” button. Sadly, Eclipse will again build the workspace but this time it won’t take take much.即将““2.x/conf‘移动到顶部就可解决,我的问题是这么解决的,再次补充mark一下!
    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 not found. 
    这个错是一个朋友测试nutch的时候遇到的。类似这样的问题,看看是不是插件中的类,如果是nutch插件中的类,可以肯定这些错是因为没有找到插件的原因。
    解决方案:build项目之后,必须把项目的根目录下面的build文件夹复制到项目的根目录下面。然后刷新eclipse中的项目。然后还需要修改一个配置参数。
    nutch-site.xml中修改plugin.folders这个属性的属性值。如下:
      plugin.folders
      ./plugins

    自己亲自实验得到的结论是将value值改为”./src/plugin“,注意前面有一个点表示当前相对当前路径!也可以根据官方文档的做法写绝对路径,也可以加载插件! 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 修改版本为0.2.1,然后用ant直接编译即可 10.ant编译期间出现“jdk1.6 source XXXX“警告 解决方案:在”default.properties“找到”java version = 1.6“将其改成与自己JDK版本一致即可! 总结;初次接触,控制台给的问题不全面,只能Debug,后来发现用观看”hadoop.log“文件可以清晰看到问题所在,这点非常重要,再次Mark一下! 12.etch of url failed with: org.apache.nutch.protocol.ProtocolNotFound: protocol not found for url=http 解决方案: 地址:https://stackoverflow.com/questions/45983592/nutch-1-13-fetch-of-url-failed-with-org-apache-nutch-protocol-protocolnotfound somehow solved the issue. I think the space in nutch-site.xml was causing issue new plugin.includes section for others coming here. 在 nutch-site.xml中添加如下代码问题解决: ```xml plugin.includes protocol-http|protocol-httpclient|urlfilter-regex|parse-(html)|index-(basic|anchor)|indexer-solr|query-(basic|site|url)|response-(json|xml)|summary-basic|scoring- opic|urlnormalizer-(pass|regex|basic) ``` 参考地址:https://wiki.apache.org/nutch/RunNutchInEclipse
  • 相关阅读:
    关于匹配的一些问题
    Codeforces Round #396 (Div. 2) A,B,C,D,E
    Codeforces Round #394 (Div. 2) A,B,C,D,E
    HDU 1848 SG函数博弈
    HDU 1536 S-Nim SG博弈
    HDU 2509 Be the Winner nim博弈变形
    HDU 1907 John nim博弈变形
    Codeforces Round #222 (Div. 1) D. Developing Game 线段树有效区间合并
    BZOJ 1031: [JSOI2007]字符加密Cipher 后缀数组
    HDU 5769 Substring 后缀数组
  • 原文地址:https://www.cnblogs.com/jpfss/p/7891792.html
Copyright © 2011-2022 走看看