Hive3.1.0入門:安裝部署詳解

如果您覺得“大數據開發運維架構”對你有幫助,歡迎轉發朋友圈


一、概述

這裡簡單說明一下,Hive是建立在Hadoop上的,通過HiveQL來實現對Hadoop下的數據管理。Hive屬於數據倉庫的範疇,適合用來對一段時間內的數據進行分析查詢,例如,用來計算趨勢或者網站的日誌。Hive不應該用來進行實時的查詢。因為它需要很長時間才可以返回結果。


軟件版本信息:

Hadoop3.1.1

JDK1.8

HIVE3.1.0


二、安裝步驟


1.可從官網下載Hive各個版本的安裝包和源碼包,我這裡下載的是apache-hive-3.1.0-bin.tar.gz,下載地址: http://archive.apache.org/dist/hive/


2.把apache-hive-1.2.1-bin.tar.gz上傳到linux的/data/目錄下,並進行解壓,命令如下:

<code>[root@worker2 data]# tar -zxvf apache-hive-3.1.0-bin.tar.gz
[root@worker2 data]# mv apache-hive-3.1.0-bin hive-3.1.0/<code>


3.修改conf目錄下配置文件


1).hive-env.sh文件

<code>[root@worker2 conf]# cp hive-env.sh.template hive-env.sh
[root@worker2 conf]# vi hive-env.sh /<code>


在hive-env.sh文件添加如下內容:

<code>#JDK
export JAVA_HOME= /opt/jdk1.8.0_112
#指定hadoop目錄
export HADOOP_HOME=/usr/hdp/3.1.4.0-315/hadoop
#指定conf配置路徑
export HIVE_CONF_DIR=/data/hive-3.1.0/conf
#指定依賴的lib
export HIVE_AUX_JARS_PATH=/data/hive-3.1.0/lib/<code>

2).hive 的日誌默認在/tmp/${user}/hive.log目錄下(user用戶名下),修改hive的log存放日誌到/data/hive-3.1.0/logs,執行命令:

<code>   mv hive-log4j2.properties.template  hive-log4j2.properties/<code>

修改hive-log4j2.properties如下內容:

<code> property.hive.log.dir=/data/hive-3.1.0/logs/<code>

3).hive-site.xml文件,主要是配置hive元數據庫連接信息、數據在hdfs存儲目錄信息等;

<code>[root@worker2 conf]# mv hive-default.xml.template  hive-site.xml
[root@worker2 conf]# vi   hive-site.xml/<code>

在hive-site.xml文件添加如下內容:

<code>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL/<name>
<value>jdbc:mysql://master.hadoop.ljs:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false/<value>
/<property>
<property>
<name>hive.metastore.schema.verification/<name>
<value>false/<value>
/<property>
<property>
<name>javax.jdo.option.ConnectionDriverName/<name>
<value>com.mysql.cj.jdbc.Driver/<value>
/<property>

<property>
<name>javax.jdo.option.ConnectionUserName/<name>
<value>hive/<value>
/<property>

<property>
<name>javax.jdo.option.ConnectionPassword/<name>
<value>123456a?/<value>
/<property>
<property>
<name>datanucleus.schema.autoCreateAll/<name>
<value>true/<value>
/<property>
<property>
<name>hive.metastore.warehouse.dir/<name>
<value>/user/hive/warehouse/<value>
/<property>
<property>
<name>hive.server2.webui.host/<name>
<value>192.168.0.103/<value>
/<property>
<property>
<name>hive.server2.webui.port/<name>
<value>10002/<value>
/<property>
/<configuration>/<code>

4.配置完成後,初始化mysql元數據庫,初始化之前,需要把對應版本的mysql驅動包放到hive/lib目錄下:

<code>
[root@worker2 lib]# pwd
/data/hive-3.1.0/lib
[root@worker2 lib]# ll *mysql-connector*
-rwxrwxrwx 1 root root 1004838 3月 21 22:13 mysql-connector-java-5.1.46.jar/<code>

使用schemaTool初始化mysql數據庫

<code>schematool -dbType mysql -initSchema/<code>

5.配置環境變量,在/etc/profile中添加如下內容:

<code>export HADOOP_HOME=/usr/hdp/3.1.4.0-315/hadoop
export HIVE_HOME=/data/hive-3.1.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin:$HIVE_HOME/bi/<code>

使配置生效:

<code>source /etc/profile/<code>

6.啟動Hive

<code>#run  metastore
hive --service metastore &
#run hiveserver2
hive --service hiveserver2 --hiveconf hive.root.logger=INFO,console &/<code>

報錯信息處理:


1.報錯信息:

Hive3.1.0入門:安裝部署詳解

這裡hive的guava包與hadoop中的guava版本不一致,直接從hadoop/lib下拷貝對應的guava包,覆蓋掉hive/lib下的即可。

<code>[root@worker2 lib]# ll *guava*
-rw-r--r-- 1 root root 2308517 7月 10 2018 guava-19.0.jar
-rw-r--r-- 1 root root 971309 7月 10 2018 jersey-guava-2.25.1.jar
[root@worker2 lib]# cp /usrp/3.1.4.0-315/hadoop/lib/guava-28.0-jre.jar ./
[root@worker2 lib]# rm -rf guava-19.0.jar
[root@worker2 lib]# ll *guava*
-rw-r--r-- 1 root root 2746681 3月 21 22:17 guava-28.0-jre.jar
-rw-r--r-- 1 root root 971309 7月 10 2018 jersey-guava-2.25.1.jar/<code>

2.報錯信息:

Hive3.1.0入門:安裝部署詳解

這裡需要在hdfs的配置文件core-site.xml中加上代理用戶,添加配置如下:

<code>  <property>
<name>hadoop.proxyuser.hive.groups/<name>
<value>*/<value>
/<property>

<property>
<name>hadoop.proxyuser.hive.hosts/<name>
<value>*/<value>
/<property>/<code>

如果覺得我的文章能幫到您,請關注微信公眾號“大數據開發運維架構”,並轉發朋友圈,謝謝支持!!!


分享到:


相關文章: