Hadoop學習之第七章節:Hive安裝配置




環境要求:


mysql

hadoop


hive版本爲:apache-hive-1.2.1-bin.tar


1.設置hive用戶


進入mysql命令行,創建hive用戶並賦予所有權限:

mysql -uroot -proot

mysql>create user 'hive' identified by 'hive';

mysql>grant all on *.* TO 'hive'@'%' with grant option;

mysql>flush privileges;

 


2.創建hive數據庫


使用hive用戶登錄,創建hive數據庫:

mysql -uhive -phive

mysql>create database hive;

mysql>show databases;

 

3.安裝Hive

下載hive安裝文件

可以到Apache基金hive官網http://hive.apache.org/downloads.html,選擇鏡像下載地址:http://mirrors.cnnic.cn/apache/hive/下載一個穩定版本,

 


把mysql驅動放到hive的lib目錄下

把下載的hive安裝包和mysql驅動包,使用

cd /home/hadoop/Downloads

cp mysql-connector-java-5.1.34-bin.jar /usr/local/hive-0.12.0/lib

 


4.配置/etc/profile環境變量


使用如下命令打開/etc/profile文件:

sudo vi /etc/profile

 


#set hive path

export  HIVE_HOME=/usr/local/hive
export  PATH=$PATH:$HIVE_HOME/bin
export  CLASSPATH=$CLASSPATH:$HIVE_HOME/bin


使配置文件生效:

source /etc/profile

 



5.設置hive-env.sh配置文件


進入hive-0.12.0/conf目錄,複製hive-env.sh.templaete爲hive-env.sh:

cd /usr/local/hive-0.12.0/conf

cp hive-env.sh.template hive-env.sh

ls

vi hive-env.sh

 

分別設置HADOOP_HOME和HIVE_CONF_DIR兩個值:

 

wKiom1caOZrS03NfAAEMH90xjB4785.jpg




6.設置hive-site.xml配置文件

複製hive-default.xml.templaete爲hive-site.xml

cp hive-default.xml.template hive-site.xml

sudo vi hive-site.xml


 

(1)加入配置項

默認metastore在本地,添加配置改爲非本地  可以忽略此步

<property>
  <name>hive.metastore.local</name>
  <value>false</value>
</property>

 

(2) 修改配置項

hive默認爲derby數據庫,需要把相關信息調整爲mysql數據庫

<property>
  <name>hive.metastore.uris</name>
  <value>thrift://hadoop1:9083</value>
  <description>Thrift URI for the remote metastore. ...</description>
</property>
<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://hadoop1:3306/hive?=createDatabaseIfNotExist=true</value>
  <description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
  <description>Driver class name for a JDBC metastore</description>
</property>
<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>hive</value>
  <description>username to use against metastore database</description>
</property>
<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>hive</value>
  <description>password to use against metastore database</description>
</property>

 

 

(3) 訂正錯誤項

在配置文件2000行左右配置項hive.server2.thrift.sasl.qop原來爲<value>auth</auth>,按照如下進行修改:

<property>
  <name>hive.server2.thrift.sasl.qop</name>
  <value>auth</value>
  <des.....
</property>

 

並把hive.metastore.schema.verification配置項值修改爲false

<property>
  <name>hive.metastore.schema.verification</name>
  <value>false</value>
   <desc....>
</property>

 




7.驗證部署

啓動metastore和hiveserver

在使用hive之前需要啓動metastore和hiveserver服務,通過如下命令啓用:



把MySQL的JDBC驅動包複製到Hive的lib目錄下。

JDBC驅動包的版本:mysql-connector-java-5.1.18-bin.jar




以下也可以忽略

hive --service metastore &

hive --service hiveserver &

 

啓動用通過jps命令可以看到兩個進行運行在後臺

 

wKioL1caOw_RahCCAAB-PSoPxk4535.jpg






8.在hive中操作

登錄hive,在hive創建表並查看該表,命令如下:

hive

hive>create table test(a string, b int);

hive>show tables;

hive>desc test;




不能正常啓動,處理方式爲:


http://blog.csdn.net/olfisher/article/details/48730229


Terminal initialization failed; falling back to unsupported

原因是hadoop目錄下存在老版本jline:

/hadoop-2.5.2/share/hadoop/yarn/lib:
-rw-r--r-- 1 root root   87325 Mar 10 18:10 jline-0.9.94.jar
 
解決方法是:

將hive下的新版本jline的JAR包拷貝到hadoop下:
cp /hive/apache-hive-1.1.0-bin/lib/jline-2.12.jar ./
 
/hadoop-2.5.2/share/hadoop/yarn/lib:
-rw-r--r-- 1 root root   87325 Mar 10 18:10 jline-0.9.94.jar.bak-rw-r--r-- 1 root root  213854 Mar 11 22:22 jline-2.12.jar




 

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章