大数据之Apache-Hive-2.3.9完整安装部署教程

一、下载Apache-Hive-2.3.9源码包

Hive下载仓库地址:https://github.com/cloudera/hue/releases

二、下载MySQL 驱动包

下载对应的 MySQL 连接jar
https://dev.mysql.com/downloads/connector/j/

大数据分析之Apache-Hive-2.3.9完整安装部署教程(图1)

三、上传并解压缩至big/指定目录(自定义)

## 上传方式ftp、rz、ssh等
[root@slave-1 conf]# ll /opt/
总用量 881740
-rw-r--r--. 1 root root 286170958 6月  24 09:01 apache-hive-2.3.9-bin.tar.gz
-rw-r--r--. 1 root root 144935989 6月  23 10:05 jdk-8u291-linux-x64.tar.gz
-rw-r--r--. 1 root root   3362563 6月  24 09:38 mysql-connector-java-5.1.49.tar.gz
drwxr-xr-x. 3 root root       178 4月  20 2020 mysql-connector-java-5.1.49

[root@slave-1 opt]# tar xf apache-hive-2.3.9-bin.tar.gz -C /usr/local/big/
[root@slave-1 conf]# cp /opt/mysql-connector-java-5.1.49/mysql-connector-java-5.1.49.jar /usr/local/big/apache-hive-2.3.9/lib/

四、配置Hive相关文档,Hive的配置文件路径$HIVE_HOME/conf

1、创建重命名相关文档

[root@slave-1 conf]# cp hive-env.sh.template hive-env.sh
[root@slave-1 conf]# cp hive-log4j2.properties.template hive-log4j2.properties
[root@slave-1 conf]# cp hive-default.xml.template hive-site.xml
[root@slave-1 conf]# cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties

2、修改hive-env.sh

[root@slave-1 conf]# vim hive-env.sh

export JAVA_HOME=/usr/local/jdk1.8.0_291
export HADOOP_HOME=/usr/local/big/hadoop-2.9.2
export HIVE_HOME=/usr/local/big/hive-2.3.9
export HIVE_CONF_DIR=$HIVE_HOME/conf
export HIVE_AUX_JARS_PATH=$HIVE_HOME/lib

大数据分析之Apache-Hive-2.3.9完整安装部署教程(图2)

3、增加hive-site.xml

用于配置MySQL的关联
注意:下面xml里的ConnectionUserName和ConnectionPassword配置的是mysql的用户名密码,
上文已经设置过都是hive,如果上文自己设置别的用户名密码,请自行修改.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configuration>
<property>
  <name>hive.exec.scratchdir</name>
  <value>/usr/local/big/apache-hive-2.3.9/tmp</value>
</property>
<property>
  <name>hive.metastore.warehouse.dir</name>
  <value>/usr/local/big/apache-hive-2.3.9/warehouse</value>
</property>

<property>
  <name>hive.querylog.location</name>
  <value>/usr/local/big/apache-hive-2.3.9/logs</value>
</property>
<!-- 配置 MySQL 数据库连接信息 -->
<property>
  <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://4*.104.95.***:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value>
 </property>
 
 <property>
  <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value><!-- jdbc驱动 -->
 </property>
 
 <property>
  <name>javax.jdo.option.ConnectionUserName</name>
    <value>hive</value><!-- mysql账号 --> 
 </property>

 <property>
  <name>javax.jdo.option.ConnectionPassword</name>
    <value>drPzwGRw**Mkhz3S</value><!-- mysql密码 -->  
 </property>
</configuration>

4、创建hive元数据说在路径

[root@slave-1 ~]# hdfs dfs -mkdir /tmp #如果有这个路径,这不需要重新创建
[root@slave-1 ~]# hdfs dfs -mkdir -p /user/hive/warehouse #创建目录
[root@slave-1 ~]# hdfs dfs -chmod g+w /tmp #修改文件权限
[root@slave-1 ~]# hdfs dfs -chmod g+w /user/hive/warehouse #修改文件权限

5、初始化mysql元数据库

schematool -initSchema -dbType mysql //如果初始化成功,则会出现如下几行

Starting metastore schema initialization to 2.3.0
Initialization script hive-schema-2.3.0.mysql.sql
Initialization script completed
schemaTool completed

四、启动Hive,并校验

1、启动Hive

nohup hive --service metastore & #开启元数据

2、登录hive

Logging initialized using configuration in file:/usr/local/package/hive-2.3.4-bin/conf/hive-log4j2.properties Async: true
Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
hive (default)>

3、创建 aarontest 库和aarontest.staff 表

hive (default)> show databases;
OK
database_name
default
Time taken: 1.368 seconds, Fetched: 1 row(s)
hive (default)> create database aarontest;
OK
Time taken: 5.725 seconds
hive (default)> create table aarontest.staff(
              > name string,
              > age int)
              > row format delimited fields terminated by "\t";
OK
Time taken: 6.275 seconds

hive (default)> select * from aarontest.staff;
OK
staff.name	staff.age
xiaodong	23
xiaohong	24
xiaoming	18
Time taken: 1.945 seconds, Fetched: 3 row(s)

4、后续相关配置

配置企业使用的hive,元数据一定要用mysql(默认的derby数据库不支持多点登录),所有mysql的配置至关重要,特别是将 bind-address 设置成 0.0.0.0;在开启元数据服务前必须 初始化mysql元数据库;如果设置了thriftURL,必须 开启元数据服务。


大数据之Apache-Hive-2.3.9完整安装部署教程
https://cn.10691.cn//archives/10005
作者
Ley
发布于
2021年06月08日
许可协议