數據倉庫hive安裝教程

注:該教程轉自廈門大學大數據課程學習總結

1、安裝hive

1. 下載好hive以後,解壓hive源程序
java

  1. sudo tar -zxvf ./apache-hive-1.2.1-bin.tar.gz -C /usr/local # 解壓到/usr/local中
  2. cd /usr/local/
  3. sudo mv apache-hive-1.2.1-bin hive # 將文件夾名改成hive
  4. sudo chown -R dblab:dblab hive # 修改文件權限

注意,上面的dblab:dblab是用戶組和用戶名,若是你當前使用用戶名hadoop登陸了Linux系統,則把dblab替換成hadoop。
2. 配置環境變量
爲了方便使用,咱們把hive命令加入到環境變量中去,
請使用vim編輯器打開.bashrc文件,命令以下:mysql

  1. vim ~/.bashrc

在該文件最前面一行添加以下內容:sql

export HIVE_HOME=/usr/local/hive export PATH=$PATH:$HIVE_HOME/bin export HADOOP_HOME=/usr/local/hadoop

HADOOP_HOME須要被配置成你機器上Hadoop的安裝路徑,好比這裏是安裝在/usr/local./hadoop目錄。
保存退出後,運行以下命令使配置當即生效:shell

  1. source ~/.bashrc

3. 修改/usr/local/hive/conf下的hive-site.xml
執行以下命令:數據庫

  1. cd /usr/local/hive/conf
  2. mv hive-default.xml.template hive-default.xml

上面命令是將hive-default.xml.template重命名爲hive-default.xml;
而後,使用vim編輯器新建一個配置文件hive-site.xml,命令以下:apache

  1. cd /usr/local/hive/conf
  2. vim hive-site.xml

在hive-site.xml中添加以下配置信息:vim

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost: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> </configuration>

而後,按鍵盤上的「ESC」鍵退出vim編輯狀態,再輸入:wq,保存並退出vim編輯器。bash

2、安裝並配置mysql

這裏咱們採用MySQL數據庫保存Hive的元數據,而不是採用Hive自帶的derby來存儲元數據。
2.下載mysql jdbc 包,下載地址架構

  1. tar -zxvf mysql-connector-java-5.1.40.tar.gz #解壓
  2. cp mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar /usr/local/hive/lib #將mysql-connector-java-5.1.40-bin.jar拷貝到/usr/local/hive/lib目錄下

3. 啓動並登錄mysql shell編輯器

  1. service mysql start #啓動mysql服務
  2. mysql -u root -p #登錄shell界面

4. 新建hive數據庫

  1. mysql> create database hive; #這個hive數據庫與hive-site.xml中localhost:3306/hive的hive對應,用來保存hive元數據

5. 配置mysql容許hive接入:

  1. mysql> grant all on *.* to hive@localhost identified by 'hive'; #將全部數據庫的全部表的全部權限賦給hive用戶,後面的hive是配置hive-site.xml中配置的鏈接密碼
  2. mysql> flush privileges; #刷新mysql系統權限關係表

6. 啓動hive
啓動hive以前,請先啓動hadoop集羣。

  1. start-all.sh #啓動hadoop
  2. hive #啓動hive

注意,咱們這裏已經配置了PATH,因此,不要把start-all.sh和hive命令的路徑加上。若是沒有配置PATH,請加上路徑才能運行命令,好比,本教程Hadoop安裝目錄是「/usr/local/hadoop」,Hive的安裝目錄是「/usr/local/hive」,所以,啓動hadoop和hive,也能夠使用下面帶路徑的方式:

  1. cd /usr/local/hadoop
  2. ./sbin/start-all.sh
  3. cd /usr/local/hive
  4. ./bin/hive

在啓動Hive時,有可能會出現Hive metastore database is not initialized的錯誤,這裏給出解決方案。
解決Hive啓動,Hive metastore database is not initialized的錯誤。出錯緣由:之前曾經安裝了Hive或MySQL,從新安裝Hive和MySQL之後,致使版本、配置不一致。解決方法是,使用schematool工具。Hive如今包含一個用於 Hive Metastore 架構操控的脫機工具,名爲 schematool.此工具可用於初始化當前 Hive 版本的 Metastore 架構。此外,其還可處理從較舊版本到新版本的架構升級。因此,解決上述錯誤,你能夠在終端執行以下命令:

  1. schematool -dbType mysql -initSchema

執行後,再啓動Hive,應該就正常了。
啓動進入Hive的交互式執行環境之後,會出現以下命令提示符:

  1. hive>

能夠在裏面輸入SQL語句,若是要退出Hive交互式執行環境,能夠輸入以下命令:

    1. hive>exit;
相關文章
相關標籤/搜索