Hadoop之hive安裝過程以及執行常見問題

林六天發表於2014-06-04

Hive簡介

1、資料倉儲工具

2、支援一種與Sql類似的語言HiveQL

3、可以看成是從Sql到MapReduce的對映器

4、提供shall、Jdbc/odbc、Thrift、Web等介面

 

Hive嵌入式安裝

1、下載。

下載地址:http://mirror.bit.edu.cn/apache/hive/hive-0.13.0/

我下載的是最新的版本,0.13.0版本

2、上傳並解壓

上傳到Linux中,這裡我放在了/usr/local目錄下

解壓hive,命令:tar -zxvf hive-0.13.0

解壓完成後在目錄下會多一個hive-0.13.0目錄

重新命名(配置環境變數方便,可不做),命令:mv hive-0.13.0 hive

3、配置環境變數

在/etc/profile 或者 ~/.bash_profile中配置都可以,任選一個。這裡我選擇的是.bash_profile

新增變數:export HIVE_HOME=/usr/local/hive

在PAHT路徑中新增HIVE_HOME路徑(紅色部分):

PATH=$PATH:/usr/local/pig/bin:$HOME/bin:$HIVE_HOME/bin:$HIVE_HOME/conf

讓環境變數生效命令:source .bash_profile

驗證:set 

檢視變數是否設定成功

4、修改hive配置

在目錄hive/conf中

命令:cp hive-default.xml.template hive-site.xml

複製hive-default.xml.template為 hive-site.xml

命令:cp hive-env.sh.template hive-env.sh

修改hive-env.sh中的HADOOP_HOME=/usr/local/hadoop,這裡我指向的是我Hadoop安裝目錄

5、執行測試

命令:hive

出現以下表示執行成功
Logging initialized using configuration in jar:file:/usr/local/hive/lib/hive-common-0.13.0.jar!/hive-log4j.properties
hive>

 

安裝過程中可能遇到的問題:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hive/conf/HiveConf

解決方法:進入到Hadoop的安裝目錄,找到conf/hadoop-env.sh中修改export HADOOP_CLASSPATH

紅色部分為增加的: export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/usr/local/myclass

修改後儲存在執行hive即可

 

hive 執行show tables;
 
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.conf.Configuration.unset(Ljava/lang/String;)V
解決方法
hive的版本是0.13.0太高,hadoop的版本較低。 hadoop中沒有對應的方法。降低hive的版本到0.11.0
 
執行show tables;
FAILED: Execution Error, return code 1 from org.apache.Hadoop.hive.ql.exec.DDLTask. java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient

檢視更詳細報錯:
hive -hiveconf hive.root.logger=DEBUG,console

出現Caused by: MetaException(message:Version information not found in metastore. )
錯誤。

解決方法:
修改屬性:hive-site.xml
<name>hive.metastore.schema.verification</name>
<value>false</value>

 

 

相關文章