Hive數據倉庫工具安裝

一.Hive介紹

Hive是基於Hadoop的一個數據倉庫工具,能夠將結構化的數據文件映射爲一張數據庫表,並提供簡單SQL查詢功能,SQL語句轉換爲MapReduce任務進行運行。 優勢是能夠經過類SQL語句快速實現簡單的MapReduce統計,沒必要開發專門的MapReduce應用,十分適合數據倉庫的統計分析。缺點是Hive不適合在大規模數據集上實現低延遲快速的查詢html

 

二.安裝Hive

環境:Docker(17.04.0-ce)、鏡像Ubuntu(16.04.3)、JDK(1.8.0_144)、Hadoop(3.1.1)、Hive(3.1.0)java

1.安裝Hadoop
參考:Hadoop僞分佈式模式安裝mysql

2.使用root安裝MySQLsql

root@lab-bd:~# apt-get install -y mysql-server
root@lab-bd:~# /etc/init.d/mysql start

3.切換用戶bigdata,解壓Hive數據庫

root@lab-bd:~# su - bigdata
bigdata@lab-bd:~$ tar -xf apache-hive-3.1.0-bin.tar.gz

4.Hive依賴Hadoop,編輯.bashrc文件,添加環境變量
export HADOOP_HOME=/home/bigdata/hadoop-3.1.1 apache

5.激活環境變量
bigdata@lab-bd:~$ source .bashrc bash

6.啓動Hdfs服務
bigdata@lab-bd:~$ hadoop-3.1.1/sbin/start-dfs.sh 分佈式

7.啓動Yarn服務
bigdata@lab-bd:~$ hadoop-3.1.1/sbin/start-yarn.sh 工具

8.建立Hive數據倉庫存儲目錄(/tmp已存在則跳過建立)oop

bigdata@lab-bd:~$ hadoop-3.1.1/bin/hdfs dfs -mkdir -p /tmp
bigdata@lab-bd:~$ hadoop-3.1.1/bin/hdfs dfs -chmod g+w /tmp
bigdata@lab-bd:~$ hadoop-3.1.1/bin/hdfs dfs -mkdir -p /user/hive/warehouse
bigdata@lab-bd:~$ hadoop-3.1.1/bin/hdfs dfs -chmod g+w /user/hive/warehouse

9.新建conf/hive-site.xml文件,並增長以下配置項

<configuration>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://localhost:3306/hive?useSSL=false&amp;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>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>password</value>
    </property>
</configuration>

10.下載mysql-connector驅動包,並移動到lib目錄下

bigdata@lab-bd:~$ mv mysql-connector-java-5.1.47.jar apache-hive-3.1.0-bin/lib/ 

11.初始化metastore元數據庫
bigdata@lab-bd:~$ apache-hive-3.1.0-bin/bin/schematool -dbType mysql -initSchema 

 

三.運行Hive

1.命令行運行Hive
bigdata@lab-bd:~$ apache-hive-3.1.0-bin/bin/hive 

2.Beeline運行Hive
修改etc/hadoop/core-site.xml文件,增長以下配置項

    <property>
        <name>hadoop.proxyuser.bigdata.hosts</name>
        <value>*</value>
    </property>
    <property>
        <name>hadoop.proxyuser.bigdata.groups</name>
        <value>*</value>
    </property>

重啓hadoop服務

bigdata@lab-bd:~$ hadoop-3.1.1/sbin/stop-dfs.sh
bigdata@lab-bd:~$ hadoop-3.1.1/sbin/start-dfs.sh

啓動hiveserver2服務
bigdata@lab-bd:~$ nohup apache-hive-3.1.0-bin/bin/hive --service hiveserver2 & 
啓動beeline鏈接hive
bigdata@lab-bd:~$ apache-hive-3.1.0-bin/bin/beeline -u jdbc:hive2://localhost:10000 

 

四.運行異常

1.運行Hive異常
異常FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

緣由是metastore元數據庫沒有初始化
使用schematool命令初始化metastore數據庫
bigdata@lab-bd:~$ apache-hive-3.1.0-bin/bin/schematool -dbType mysql -initSchema

2.初始化metastore異常
異常org.apache.hadoop.hive.metastore.HiveMetaException: Failed to load driver

緣由Hive的lib目錄下無MySQL驅動包
下載mysql-connector驅動包,並移動到lib目錄下
bigdata@lab-bd:~$ mv mysql-connector-java-5.1.47.jar apache-hive-3.1.0-bin/lib/ 

3.beeline鏈接異常
異常User: bigdata is not allowed to impersonate anonymous (state=08S01,code=0)
緣由不容許匿名用戶訪問,須要配置etc/hoaddop/core-site.xml文件,增長以下配置項,proxyuser後爲代理用戶(bigdata)

    <property>
        <name>hadoop.proxyuser.bigdata.hosts</name>
        <value>*</value>
    </property>
    <property>
        <name>hadoop.proxyuser.bigdata.groups</name>
        <value>*</value>
    </property>
相關文章
相關標籤/搜索