1. 程式人生 > >Ubutu18.04.1 LTS 安裝Hive

Ubutu18.04.1 LTS 安裝Hive

hive是基於Hadoop的一個數據倉庫工具,可以將結構化的資料檔案對映為一張資料庫表,可以將sql語句轉換為MapReduce任務進行執行。 其優點是可以通過類SQL語句快速實現簡單的MapReduce統計。

安裝hive

1. 下載並解壓hive源程式
Hive下載地址

$ sudo tar -zxvf ~/Downloads/apache-hive-1.2.2-bin.tar.gz -C /usr/local   # 解壓到/usr/local中
$ cd /usr/local/
$ sudo mv apache-hive-1.2.2-bin hive       # 將資料夾名改為hive
$ sudo chown -R hadoop:hadoop hive # 修改檔案許可權

2. 配置環境變數
把hive命令加入到環境變數中:vim ~/.bashrc

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

使配置生效:source ~/.bashrc

3. 修改/usr/local/hive/conf下的hive-site.xml

$ cd /usr/local/hive/conf
$ mv hive-default.xml.template hive-default.xml
$ vim hive-site.xml

hive-site.xml配置:

<?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>

在這裡插入圖片描述

安裝並配置mysql

Hive使用mysql作為底層的資料庫。預設已經為Ubuntu系統安裝好了Mysql。

1.安裝mysql-connetctor以連線hive。下載地址中找到previous GA versions中的tar包,下載mysql-connector-java-5.1.47.tar

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

2.啟動並登陸mysql shell

$ service mysql start #啟動mysql服務 
$ mysql -u root -p  #登陸shell介面

3. 新建hive資料庫

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

4. 配置mysql允許hive接入:

mysql> grant all on *.* to [email protected] identified by 'hive';   #將所有資料庫的所有表的所有許可權賦給hive使用者,後面的hive是配置hive-site.xml中配置的連線密碼
mysql> flush privileges;  #重新整理mysql系統許可權關係表

在這裡插入圖片描述

啟動hive

啟動hive之前,請先啟動hadoop叢集。

$ start-all.sh #啟動hadoop
$ hive  #啟動hive