我正在使用 Hortonworks Sandbox 2.1。此版本包含 Hbase 和 Hive。为了将我的 hbase 表注册到 hive:我允许这个链接:https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration
'CREATE TABLE IF NOT EXISTS Test_Hive (key int, valuer string) STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler’ WITH SERDEPROPERTIES (‘hbase.columns.mapping’ = ‘:key,cf1:val’) TBLPROPERTIES (‘hbase.table.name’ = ‘table_test’);'
但是我有这个错误:
'Execution Error, return code 1 from org.apache.hadoop.hive.q1.exec.DDLtask. org.apache.hadoop.hive.q1.metadata.HiveException : Error in Loading storage handler.org.apashe.hadoop.hive.hbase.HbaseStorageHandler'
我在此链接中找到:将 Hbase 与 Hive 集成:注册 Hbase 表
我应该复制所有罐子从 Hbase 和 haddop 到蜂巢。并将 hbase 和 hadoop conf 复制到/etc/Hive/conf/中,如下所示:
'cp -n /usr/lib/hbase/lib/*.jar /usr/lib/hive/lib/
cp -n /usr/lib/hadoop/lib/*.jar /usr/lib/hive/lib/
cp -n /usr/lib/hbase/conf/* /usr/lib/hive/conf/
cp -n /usr/lib/hadoop/conf/* /usr/lib/hive/conf/'
但它仍然不起作用!!!然后我尝试了另一种解决方案,其中包括(也可以在上面的链接中找到):"或者而不是通过将环境变量指定到/etc/hive/conf/hive-env.sh 中的/usr/lib/hbase/lib/来将 hbase jar 复制到 hive 库
HIVE_AUX_JARS_PATH也可以。所以我编辑了我的"/hive-env.sh"文件来更改HIVE_AUX_JARS_PATH,如下所示:
'export HIVE_AUX_JARS_PATH= /usr/lib/hbase/lib'
它仍然不起作用!你能告诉我如何解决这个问题吗?提前谢谢你。
sudo cp /usr/lib/hive/lib/hive-common-0.7.0-cdh3u0.jar /usr/lib/hadoop/lib/
sudo cp /usr/lib/hive/lib/hbase-0.90.1-cdh3u0.jar /usr/lib/hadoop/lib/
2)使用以下通用关闭 HBASE 和 HADOOP
/usr/lib/hadoop/bin/stop-all.sh
/usr/lib/hbase/bin/stop-hbase.sh
3) 使用 COMMOND 重新启动 HBASE 和 HADOOP
/usr/lib/hadoop/bin/start-all.sh
/usr/lib/hadoop/bin/start-hbase.sh