文章目录
前面的项目中,已经实现了HadoopHA、HBaseHA,本文将加入Hive数据仓库工作,并整合HBase,实现完整的大数据开发项目所具备的开发环境,为后面博客关于数据应用层开发提供支撑。
1、Hive Requirements
按官网给出的基本环境
- Java 1.7: Hive versions1.2 onward require Java 1.7 or newer. java1.7或更高版本
- Hadoop 2.x (preferred):推荐hadoop2.x版本
hive安装包可在清华镜像源拉取:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/
目前stable版本为:
apache-hive-2.3.6-bin.tar.gz 2019-08-23 02:53 221M
最新版为:
apache-hive-3.1.2-bin.tar.gz 2019-08-27 04:20 266M
如何定位自身Hadoop版本与hive版本的兼容呢?
例如本blog前面部署hadoop3.1.2,可通过在hive官网查看其对应的版本
http://hive.apache.org/downloads.html
,官网给出的news:
26 August 2019: release 3.1.2 available
This release works with Hadoop 3.x.y.
hive3.1.2版本支持hadoop3.x.y版本,结合本blog内容,这里使用hive3.1.2:
从hive官网给出的hadoop版本兼容可以看出hive2.x.y一般是兼容hadoop2.x.y
2、Hive 环境部署
2.1 配置环境变量
hive安装包所在路径,个人习惯将所有大数据组件放在/opt目录下,方便管理和配置
[root@nn hive-3.1.2]# pwd
/opt/hive-3.1.2
[root@nn hive-3.1.2]# vi /etc/profile
# 追加到文件后面
export HIVE_HOME=/opt/hive-3.1.2
export PATH=$PATH:$HIVE_HOME/bin
[root@nn hive-3.1.2]# source /etc/profile
# 查看hive版本
[root@nn hive-3.1.2] hive --version
Hive 3.1.2
Git git://HW13934/Users/gates/tmp/hive-branch-3.1/hive -r 8190d2be7b7165effa62bd21b7d60ef81fb0e4af
Compiled by gates on ** PDT 2019
From source with checksum 0492c08f784b188c349f6afb1d8d9847
2.2 配置hive-env.sh和hive-site.xml
[root@nn conf]# cp hive-default.xml.template hive-site.xml
[root@nn conf]# cp hive-env.sh.template hive-env.sh
[root@nn conf]# vi hive-env.sh
# 在文件最后修改
HADOOP_HOME=/opt/hadoop-3.1.2
export HIVE_CONF_DIR=/opt/hive-3.1.2/conf
export HIVE_AUX_JARS_PATH=/opt/hive-3.1.2/lib
Hive-site.xm的配置项比较多,自带模板文件内容长达6900多行,仅给出重要的设置项,其他属性的设置以及描述可参考官网
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--元数据库的mysql的配置项-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://nn:3306/hive?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>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>py_ab2018</value>
</property>
<property>
<name>datanucleus.readOnlyDatastore</name>
<value>false</value>
</property>
<property>
<name>datanucleus.fixedDatastore</name>
<value>false</value>
</property>
<property>
<name>datanucleus.autoCreateSchema</name>
<value>true</value>
</property>
<property>
<name>datanucleus.autoCreateTables</name>
<value>true</value>
</property>
<property>
<name>datanucleus.autoCreateColumns</name>
<value>true</value>
</property>
<!--zookeeper的有关设置-->
<property>
<name>hive.zookeeper.quorum</name>
<value>nn:2181,dn1:2181,dn2:2181</value>
</property>
<property>
<name>hive.server2.support.dynamic.service.discovery</name>
<value>true</value>
</property>
<property>