簡介
本篇介紹Hadoop大數據平臺組件中的Hive組件的搭建(搭建Hive前需搭建完成MySQL)
- 使用軟件版本
apache-hive-1.1.0-bin.tar
mysql-connector-java-5.1.47.jar(百度雲提取碼:vk6v)
安裝Hive
- 解壓hive安裝包,設置hive的環境變量
解壓軟件
tar -zxvf /opt/software/apache-hive-1.1.0-bin.tar.gz -C /usr/local/scr/
軟件重命名(便於操作)
mv apache-hive-1.1.0-bin/ hive
設置hive環境變量
vi /etc/profile
添加環境變量
#.....hive.....
export HIVE_HOME=/usr/local/scr/hive
export PATH=$PATH:$HIVE_HOME/bin
使環境變量生效
source /etc/profile
- 拷貝驅動文件到 ‘{HIVE_HOME}/lib’ 路徑下
cp /opt/software/mysql-connector-java-5.1.47.jar /usr/local/scr/hive/lib/
- 創建HDFS文件夾(如有需要可以更改路徑,在hive-site.xml中修改)
因爲在hive-site.xml中有如下HDFS相關設置,因此我們需要先在HDFS中創建對應目錄並賦予權限
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<property>
<name>hive.exec.scratchdir</name>
<value>/tmp/hive</value>
</property>
[root@master1 ~]# hadoop fs -mkdir -p /user/hive/warehouse
[root@master1 ~]# hadoop fs -mkdir -p /tmp/hive
[root@master1 ~]# hadoop fs -chmod -R 777 /user/hive/warehouse
[root@master1 ~]# hadoop fs -chmod -R 777 /tmp/hive
- 修改配置文件
複製 hive-default.xml.template 改名爲 hive-site.xml文件並修改
cp hive-default.xml.template hive-site.xml
修改相關配置
- 將 hive-site.xml中的{system:java.io.tmpdir}改爲hive的本地臨時目錄,將{system:user.name}改爲用戶名。(共有4處需要修改)
沒有hive的本地臨時目錄,先到hive目錄下創建本地臨時目錄 tmp
<property>
<name>hive.exec.local.scratchdir</name>
<value>/usr/local/scr/hive/tmp/root</value>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/usr/local/scr/hive/tmp/${hive.session.id}_resources</value>
</property>
<property>
<name>hive.server2.logging.operation.log.location</name>
<value>/usr/local/scr/hive/tmp/root/operation_logs</value>
</property>
<property>
<name>hive.querylog.location</name>
<value>/usr/local/scr/hive/tmp/root</value>
</property>
- 數據庫相關配置
# 數據庫jdbc地址
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master2:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false</value>
</property>
# 數據庫的驅動類名稱
# 新版本8.0版本的驅動爲com.mysql.cj.jdbc.Driver
# 舊版本5.x版本的驅動爲com.mysql.jdbc.Driver
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.cj.jdbc.Driver</value>
</property>
# 數據庫用戶名
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
# 數據庫密碼
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>passwd</value>
</property>
- 配置hive-log4j2.properties
複製並更名hive-log4j2.properties.template爲 hive-log4j2.properties文件
cp hive-log4j.properties.template hive-log4j.properties
修改配置
hive.log.dir=/usr/local/scr/hive/tmp/root
- 配置hive-env.sh文件
複製並更名hive-env.sh.template爲 hive-env.sh文件
[root@master1 conf]# cp hive-env.sh.template hive-env.sh
[root@master1 conf]# vi hive-env.sh
修改配置
# Set HADOOP_HOME to point to a specific hadoop install directory
export HADOOP_HOME=/usr/local/scr/hadoop
# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/usr/local/scr/hive/conf
# Folder containing extra ibraries required for hive compilation/execution can be controlled by:
export HIVE_AUX_JARS_PATH=/usr/local/scr/hive/lib
- 啓動hive
進入mysql,創建Hive數據庫
注意:將{HADOOP_HOME}/share/hadoop/yarn/lib目錄下的jline-0.9.94.jar替換成hive/lib下的jline-2.12.jar
cp /usr/local/scr/hive/lib/jline-2.12.jar /usr/local/scr/hadoop/share/hadoop/yarn/lib/
mv jline-0.9.94.jar /media/
進入hive的bin目錄,進行初始化操作
schematool -dbType mysql -initSchema
啓動hive
[root@master1 ~]# hive
最後,記得點贊哦!!!ღ( ´・ᴗ・` )比心!!!
系列文章:
【Hadoop大數據平臺組件搭建系列】——Hadoop完全分佈式搭建(基於CentOS7.4) 一站式解決!!!
【Hadoop大數據平臺組件搭建系列(三)】——Hive組件配置
【Hadoop大數據平臺組件搭建系列(四)】——Kafka組件配置
【Hadoop大數據平臺組件搭建系列(五)】——MySQL組件配置(tar源碼安裝)
【Hadoop大數據平臺組件搭建系列(六)】——Spark完全分佈式組件配置
【Hadoop大數據平臺組件搭建系列(七)】——HBase完全分佈式組件配置