0. 說明
已經安裝好Hadoop-1.2.1。
安裝好mysql。
1.解壓安裝包
先把安裝包下載。然后解壓:
tar -zxvf apache-hive-1.1.0-bin.tar.gz
2.配置環境變量
vim /etc/profile
導入下面的環境變量
export HIVE_HOME=hive安裝目錄
export PATH=$PATH:$HIVE_HOME/bin:$HIVE_HOME/conf
使剛剛配置的環境變量立即有效
source .bash_profile
3.配置hive參數
hive的配置文件放在$HIVE_HOME/conf下,里面有4個默認的配置文件模板
hive-default.xml.template 默認模板
hive-env.sh.template hive-env.sh默認配置
hive-exec-log4j.properties.template exec默認配置
hive-log4j.properties.template log默認配置
可不做任何修改hive也能運行,默認的配置元數據是存放在Derby數據庫里面的,大多數人都不怎么熟悉,我們得改用mysql來存儲我們的元數據,以及修改數據存放位置和日志存放位置等使得我們必須配置自己的環境,下面介紹如何配置。
3.1 創建配置文件
直接copy默認配置文件再修改即可,用戶自定義配置會覆蓋默認配置.
$ cp $HIVE_HOME/conf/hive-default.xml.template $HIVE_HOME/conf/hive-site.xml
$ cp $HIVE_HOME/conf/hive-env.sh.template $HIVE_HOME/conf/hive-env.sh
$ cp $HIVE_HOME/conf/hive-exec-log4j.properties.template $HIVE_HOME/conf/hive-exec-log4j.properties
$ cp $HIVE_HOME/conf/hive-log4j.properties.template $HIVE_HOME/conf/hive-log4j.properties
3.2 修改hive-env.sh
vi $HIVE_HOME/conf/hive-env.sh
export HADOOP_HOME=hadoop安裝目錄
export HIVE_CONF_DIR= hive安裝目錄/conf
3.3 修改hive-log4j.properties
創建hive日志目錄:
mkdir $HIVE_HOME/logs
配置日志目錄:
vi $HIVE_HOME/conf/hive-log4j.properties
hive.log.dir=/opt/hive-1.2.1/logs
3.4 修改 hive-site.xml
默認hive使用Derby數據庫存放元數據,修改為支持mysql數據庫。
要修改的重要參數:
- hive.metastore.warehouse.dir:數據存儲目錄,是HDFS上的位置,默認值:/user/hive/warehouse,為了便於管理,hive-1.2.1文件下創建目錄warehouse。
- hive.exec.scratchdir:臨時數據目錄,默認為:/tmp/hive-${user.name}。為了便於管理,hive-1.2.1文件下創建目錄scratchdir。
- javax.jdo.option.ConnectionURL:指定hive連接的數據庫的數據庫連接字符串
- javax.jdo.option.ConnectionDriverName:指定驅動的類入口名稱
- javax.jdo.option.ConnectionUserName:指定數據庫的用戶名
- javax.jdo.option.ConnectionPassword:指定數據庫的登錄密碼,與用戶名對應
vi $HIVE_HOME/conf/hive-site.xml
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>hive安裝目錄/warehouse</value>
</property>
<property>
<name>hive.exec.scratchdir</name>
<value>hive安裝目錄/scratchdir</value>
</property>
<property>
<name>hive.querylog.location</name>
<value>hive安裝目錄/logs</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hivedb?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>mysql登錄用戶名</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>mysql登錄密碼</value>
</property>
4.上傳jdbc jar包
默認hive使用Derby數據庫存放元數據,並且也集成了Derby數據庫及連接驅動jar包,但此處我們換成了MySQL作為數據庫,所以還必須得有MySQL的JDBC驅動包。
將驅動包復制到$HIVE_HOME/lib下:
cp mysql-connector-java-5.1.17.jar $HIVE_HOME/lib
5. 測試hive
Hadoop已經啟動后,才能啟動hive。
直接在命令行輸入:
hive
能夠進入hive界面,即說明成功。
其他測試:
測試輸入 show database;
hive> show databases;
OK
default
Time taken: 0.907 seconds, Fetched: 1 row(s)
