2014-11-21 60 views
0

我正在使用Hortonworks Sandbox 2.1。此版本包含Hbase和Hive。 爲了我的HBase的表註冊到蜂巢:我休耕此鏈接: https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration在Hive中註冊Hbase表

'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' 

我已經在這個環節發現: Integrating Hbase with Hive: Register Hbase table

我應該複製所有來自Hbase的jar,並且配置成配置單元。和copie的hbase和hadoop配置到/ 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/' 

但它仍然不能正常工作! 然後我嘗試了另一個解決方案(也在上面的鏈接中): 「或 而不是通過指定HIVE_AUX_JARS_PATH環境變量複製hbase jar到hive庫/ usr/lib/hbase/lib/in/etc /hive/conf/hive-env.sh也會做「

所以我編輯我的‘/hive-env.sh’文件來改變這樣的HIVE_AUX_JARS_PATH:

'export HIVE_AUX_JARS_PATH= /usr/lib/hbase/lib' 

它還是行不通 !! 你能告訴我如何解決這個問題嗎? 預先感謝您。

回答

0
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使用FOLLOWING COMMOND

/usr/lib/hadoop/bin/stop-all.sh 
/usr/lib/hbase/bin/stop-hbase.sh 

3)重新啓動HBASE和Hadoop使用COMMOND

/usr/lib/hadoop/bin/start-all.sh 
/usr/lib/hadoop/bin/start-hbase.sh 
+0

謝謝您的回答。但是你已經寫了兩次相同的命令「sudo cp /usr/lib/hive/lib/hbase-0.90.1-cdh3u0.jar/usr/lib/hadoop/lib /」。這是正常的嗎? – 2014-11-21 13:32:55

+0

謝謝你的工作:) – 2014-11-21 14:11:17