一、上傳hive 0.11解壓后的文件到linux
??? 1、用的版本是shark站點提供的,可能是針對shark修改了代碼。
??? 2、追加mysql、oracle兩個jdbc驅動包到lib目錄下。
二、配置相關文件
??? 1、.bash_profile文件
export HIVE_HOME=/home/kituser/bigdata/hive-0.11.0-bin
export HIVE_CONF_DIR=$HIVE_HOME/conf
export CLASSPATH=$CLASSPATH:$HIVE_HOME/lib
export PATH=$PATH:$HIVE_HOME/bin
??? 2、hive-site.xml
<property>
?? <name>hive.metastore.local</name>
?? <value>true</value>
?? <description>controls whether to connect to remove metastore server or open a new metastore server in Hive Client JVM</description>
</property><property>
?? <name>javax.jdo.option.ConnectionURL</name>
?? <value>jdbc:mysql://172.16.19.139:3306/hive_11_201402</value>
</property>
?
<property>
?? <name>javax.jdo.option.ConnectionDriverName</name>
?? <value>com.mysql.jdbc.Driver</value>
</property><property>
??? <name>javax.jdo.option.ConnectionUserName</name>
??? <value>root</value>
</property><property>
?? <name>javax.jdo.option.ConnectionPassword</name>
?? <value>root</value>
</property>
三、配置mysql數據庫
??? 創建mysql數據庫,字符集選擇“latin1”,否則在使用hive過程中會報錯。
四、較驗hive
??? 1、啟動hive:
hive
nohup hive --service hiveserver
??? 2、測試sql:
show tables;
create table shark_test01(id int, name string);
select * from shark_test01;
exit;
??? 查看hive創建的文件:hadoop fs -ls -R /user/hive
五、錯誤及解決
錯誤3:
MetaException(message:file:/user/hive/warehouse/xxxx is not a directory or unable to create one)
解決:
CLASSPATH中加入HADOOP_CONF_DIR
?
錯誤2:
Error in metadata: MetaException(message:Got exception: org.apache.hadoop.hive.metastore.api.MetaException javax.jdo.JDODataStoreException: An exception was thrown while adding/validating class(es) : Specified key was too long; max key length is 767 bytes
解決:
只要修改MySQL中Hive元數據庫MetaStore的字符集便可。
alter database dbname character set latin1;
?
錯誤1:
java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient。
解決:
在CLASSPATH中要有mysql的jdbc驅動。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
