创建HTable时出错

时间:2015-08-11 08:43:38

标签: java parsing hadoop hbase nutch

我正在使用Nutch 1.8从网站抓取数据。我现在正在为Nutch编写一个自定义插件来解析HTML并将数据保存到HBase。 通过教程我创建配置:

Configuration conf = HBaseConfiguration.create();

然后我调用openz()方法来设置配置等​​。

public static void openz() throws IOException {
    LOG.info("openz()");
    System.out.println("openz()");
    System.out.println("Establishing connection with database..");
    conf = HBaseConfiguration.create();
    conf.set("hbase.master", SERVER_IP);
    conf.set("hbase.zookeeper.quorum", MASTER_PC);
    conf.set("zookeeper.znode.parent", ZOOKEEPER_PARENT_NODE);
    conf.set("hbase.zookeeper.property.clientPort","2181");
    System.out.println("Conf here? :" + conf);
    System.out.println("Creating table variable..");
    table = new HTable(conf, "bstore");
}

此时,在线,我创建了HTable,我得到了

  

java.io.IOException:java.lang.reflect.InvocationTargetException           在org.apache.hadoop.hbase.client.ConnectionManager.createConnection   java.lang.NoSuchMethodError:org.apache.hadoop.hbase.protobuf.generated.ClientProtos $ Result $ Builder.setStale(Z)Lorg / apache / hadoop / hbase / protobuf / generated / ClientProtos $ Result $ Builder;

以前我在图书馆遇到了很多麻烦。 当我使用远程连接在netbeans上运行我的插件代码时,它工作正常。将网站数据保存到hbase没有任何问题。 但是当我在集群上启动Nutch crawler时,我会遇到这些错误。

1 个答案:

答案 0 :(得分:1)

我会发布我的解决方案来解决这个问题,也许它会在将来帮助某人。 我使用Hadoop 2.4.0,HBase 0.98.0,Apache Nutch 1.8和Solr 4.2.1。 问题是由于缺少一些图书馆造成的。我将发布一个包含所有库的列表,我在nutch / lib文件夹中插入(这种方式不是最好的,因为nutch尚未正确安装在集群上)。

  • 活化-1.1.jar
  • 阿帕奇-的nutch-1.8.jar
  • ASM-3.1.jar
  • 阿夫罗-1.7.4.jar
  • 公地BeanUtils的-1.7.0.jar
  • 公地BeanUtils的核 - 1.8.0.jar
  • 公地-CLI-1.2.jar
  • 公地编解码器-1.4.jar
  • 公地集合-3.2.1.jar
  • 公地配置-1.6.jar
  • 公地消化器-1.8.jar
  • 公地-EL-1.0.jar
  • 公地HttpClient的-3.1.jar
  • 公地-IO-2.4.jar
  • 公地琅2.6.jar
  • 共享记录-1.1.1.jar
  • 公地数学2.1.jar
  • 公地净1.4.1.jar
  • 履带公地0.3.jar
  • elasticsearch-0.90.1.jar
  • 番石榴11.0.2.jar
  • 的hadoop-AUTH-2.2.0.jar
  • Hadoop的共2.2.0.jar
  • Hadoop的纱线API-2.2.0.jar
  • Hadoop的纱线共2.2.0.jar
  • Hadoop的MapReduce的客户端 - 共2.2.0.jar
  • Hadoop的MapReduce的客户端 - 芯 - 2.2.0.jar
  • Hadoop的MapReduce的客户端 - jobclient-2.2.0.jar
  • Hadoop的MapReduce的客户洗牌-2.2.0.jar
  • HBase的客户端-0.98.0-hadoop2.jar
  • HBase的共用-0.98.0-hadoop2.jar
  • HBase的 - 协议 - 0.98.0-hadoop2.jar
  • HTRACE核-2.04.jar
  • 的HttpClient-4.1.1.jar
  • 的HttpCore-4.1.jar
  • ICU4J-4.0.1.jar
  • 杰克逊核-ASL-1.8.8.jar
  • 杰克逊 - JAXRS-1.7.1.jar
  • 杰克逊映射器-ASL-1.8.8.jar
  • 杰克逊-XC-1.7.1.jar
  • 碧玉编译-5.5.12.jar
  • 碧玉运行时5.5.12.jar
  • JAXB-API-2.2.2.jar
  • JAXB-IMPL-2.2.3-1.jar
  • 球衣核-1.8.jar
  • Jersey的JSON-1.8.jar
  • 球衣 - 服务器 - 1.8.jar
  • 抛放-1.1.jar
  • 码头-6.1.26.jar
  • 码头-客户6.1.22.jar
  • 码头-的SSLEngine-6.1.22.jar
  • 码头-util的-6.1.26.jar
  • 的jsp-2.1-6.1.14.jar
  • 的jsp-API-2.1-6.1.14.jar
  • jsr305-1.3.9.jar
  • 的junit-3.8.1.jar
  • 的log4j-1.2.15.jar
  • 的lucene-分析器-共4.3.0.jar
  • 的lucene的编解码器-4.3.0.jar
  • lucene的核 - 4.3.0.jar
  • lucene的编组-4.3.0.jar
  • 的lucene-荧光笔-4.3.0.jar
  • lucene的联接-4.3.0.jar
  • lucene的存储器-4.3.0.jar
  • lucene的查询-4.3.0.jar
  • 的lucene-的QueryParser-4.3.0.jar
  • lucene的沙箱-4.3.0.jar
  • lucene的空间-4.3.0.jar
  • 的lucene-建议-4.3.0.jar
  • 网状-3.6.6.Final.jar
  • 口 - 2.0.8.jar
  • 的protobuf-java的2.5.0.jar
  • servlet的API-2.5-6.1.14.jar
  • SLF4J-API-1.6.6.jar
  • SLF4J-log4j12-1.6.1.jar
  • spatial4j-0.3.jar
  • STAX-API-1.0-2.jar
  • 蒂卡核-1.5.jar
  • xercesImpl-2.9.1.jar
  • XML的API-1.3.04.jar
  • xmlenc-0.52.jar
  • xmlParserAPIs-2.6.2.jar
  • 动物园管理员-3.4.6.jar