我使用Hortonworks沙盒2.0包含的HBase和蜂巢與蜂巢整合HBASE:註冊HBase的表
Component Version
------------------------
Apache Hadoop 2.2.0
Apache Hive 0.12.0
Apache HBase 0.96.0
Apache ZooKeeper 3.4.5
以下版本...和 我試圖用我的HBase的表登記到蜂巢下面的查詢
CREATE TABLE IF NOT EXISTS Document_Table_Hive (key STRING, author STRING, category STRING) STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler’ WITH SERDEPROPERTIES (‘hbase.columns.mapping’ = ‘:key,metadata:author,categories:category’) TBLPROPERTIES (‘hbase.table.name’ = ‘Document’);
這是不行的,我得到以下異常:
2014-03-26 09:14:57,341 ERROR exec.DDLTask (DDLTask.java:execute(435)) – java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration
at org.apache.hadoop.hive.hbase.HBaseStorageHandler.setConf(HBaseStorageHandler.java:249)
at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:73)
at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:133)
2014-03-26 09:14:57,368 ERROR ql.Driver (SessionState.java:printError(419)) – FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org/apache/hadoop/hbase/HBaseConfiguration
我已經創建了HBase的表「文件」和describe命令提供了以下描述
‘Document’,
{NAME => ‘categories’,..},
{NAME => ‘comments’,..},
{NAME => ‘metadata’,..}
我曾嘗試下面的東西
在蜂巢添加hive.aux.jars.path -site.xml
hive.aux.jars.path file:///etc/hbase/conf/hbase-site.xml,file:///usr/lib/hbase/lib/hbase-common-0.96.0.2.0.6.0-76-hadoop2.jar,file:///usr/lib/hive/lib/hive-hbase-handler-0.12.0.2.0.6.0-76.jar,file:///usr/lib/hbase/lib/hbase-client-0.96.0.2.0.6.0-76-hadoop2.jar,file:///usr/lib/zookeeper/zookeeper-3.4.5.2.0.6.0-76.jar
添加使用蜂巢添加jar命令
罐子add jar /usr/lib/hbase/lib/hbase-common-0.96.0.2.0.6.0-76-hadoop2.jar; add jar /usr/lib/hive/lib/hive-hbase-handler-0.12.0.2.0.6.0-76.jar; add jar /usr/lib/hbase/lib/hbase-client-0.96.0.2.0.6.0-76-hadoop2.jar; add jar /usr/lib/zookeeper/zookeeper-3.4.5.2.0.6.0-76.jar; add file /etc/hbase/conf/hbase-site.xml
指定hadoop_classpath
export HADOOP_CLASSPATH=/etc/hbase/conf:/usr/lib/hbase/lib/hbase-common-0.96.0.2.0.6.0-76-hadoop2:/usr/lib/zookeeper/zookeeper-3.4.5.2.0.6.0-76.jar
,它仍然是不工作!
如何在蜂巢類路徑中添加罐子,以便它找到hbaseConfiguration類, 或它是一個完全不同的問題?
嘗試複製HBase的,常見的是更多的建議 - *罐子蜂巢的lib/usr/lib目錄/蜂房/ lib中/ – sachin
我沒有複製的罐子。然後它詢問其他罐子 – Afaque
cp /usr/lib/hbase/lib/*.jar/usr/lib/hive/lib/ 沒有覆蓋。 現在我得到 2014-03-28 03:03:37,506錯誤exec.DDLTask(DDLTask.java:execute(435)) - java.lang.NoClassDefFoundError:org/apache/hadoop/hbase/protobuf/generated/MasterProtos $ MasterService $ BlockingInterface 我需要包含哪些jar? – Afaque