使用Hue时,使用Pig将数据存储到Hbase错误

时间:2014-11-13 08:22:58

标签: hadoop hbase apache-pig hue

我的CDH版本是5.1.2,我的Hbase版本是0.98.1,我的Hue版本是3.6.0。我执行了这个pig脚本来从Hue中的Hbase加载数据

c = LOAD 'hbase://analyze_block_v1' USING org.apache.pig.backend.hadoop.hbase.HBaseStorage('d:*', '-loadKey true');
dump c;

我收到了这个错误:

ERROR org.apache.pig.tools.grunt.Grunt  - ERROR 2998: Unhandled internal error. org/apache/hadoop/hbase/mapreduce/TableInputFormat.

按照谷歌指南,我将所有hbase*.jars从文件夹hbase库上传到user/oozie/share/lib/lib_20140822104613/pig,并将以下语句添加到脚本顶部:

set hbase.zookeeper.quorum 'localhost' 

我仍然遇到同样的错误。

继续谷歌,我找到了GetHue的指南和Cloudera网站的指南

那些指南告诉我,我必须将这些陈述添加到猪脚本之上:

register /usr/lib/zookeeper/zookeeper-<ZooKeeper_version>-cdh<CDH_version>.jar

register /usr/lib/hbase/hbase-<HBase_version>-cdh<CDH_version>-security.jar

set hbase.zookeeper.quorum 'localhost'

问题是我在Hbase文件夹和库中找不到hbase-0.98.1-cdh5.1.2-security.jar。我还从这个链接http://www.cloudera.com/content/cloudera/en/downloads/cdh/cdh-5-1-2.html下载并检查了。并且hbase文件夹中没有hbase-0.98.1-cdh5.1.2-security.jar。我尝试下载旧版本hbase-0.94.6-cdh4.5.0,我可以在文件夹中看到文件hbase-0.94.6-cdh4.5.0-security.jar

似乎他们没有在较新版本中添加security.jar文件。我想因为错过了这个文件,我找到的第一个指南无法帮助

我该怎么做才能解决错误?


感谢Romain的支持,我可以让它发挥作用。这是详细说明:

首先需要将这些文件从Hbase库文件夹上传到hdfs。在我的情况下,我将它们上传到/ user / oozie / share / lib / lib_20140822104613 / pig

zookeeper.jar

HBase的服务器-0.98.1-cdh5.1.2.jar

如果您使用Hue Pig Editor:

将罐子作为资源放在'属性'中 - &gt;脚本的“资源”,然后将这些语句放在脚本的顶部:

注册./hbase-server-0.98.1-cdh5.1.2.jar;

注册./zookeper.jar';

运行脚本,它将工作。在我的情况下,我甚至不需要注册jar文件,它仍然有效。我想把jar文件放在'properties - &gt;中资源'足够

如果您通过Hue工作流程执行pig脚本:

将文件路径添加到jar文件,然后提交工作流程,它将起作用。它也不需要寄存器和设置语句。

1 个答案:

答案 0 :(得分:3)

该文档确实不是最新的,但您是否可以尝试包含一个包含缺失类的jar?

e.g。

find /usr/lib/hbase/ -name '*.jar' -exec grep -Hls TableInputFormat {} \;
/usr/lib/hbase/hbase-server-tests.jar
/usr/lib/hbase/hbase-server-0.98.6-cdh5.4.0-SNAPSHOT.jar
/usr/lib/hbase/hbase-server-0.98.6-cdh5.4.0-SNAPSHOT-tests.jar
/usr/lib/hbase/hbase-server.jar
/usr/lib/hbase/lib/hbase-server-0.98.6-cdh5.4.0-SNAPSHOT.jar
/usr/lib/hbase/lib/hbase-server-0.98.6-cdh5.4.0-SNAPSHOT-tests.jar