Hive【环境搭建 01】【hive-3.1.2版本 安装配置】【含 mysql-connector-java-5.1.47.jar 网盘资源】【详细】

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 【4月更文挑战第6天】Hive【环境搭建 01】【hive-3.1.2版本 安装配置】【含 mysql-connector-java-5.1.47.jar 网盘资源】【详细】

我使用的安装文件是 apache-hive-3.1.2-bin.tar.gz ,以下内容均以此版本进行说明。

前置条件

  1. MySQL数据库

我安装的是 mysql-5.7.28 版本的,安装方法可参考《Linux环境安装MySQL5.7.28》

[root@tcloud ~]# service mysqld status
 SUCCESS! MySQL running (18714)
  1. Hadoop环境

我安装的是 hadoop-3.1.3 版本的,安装方法可参考《Linux环境安装Hadoop3.1.3》

[root@tcloud ~]# hdfs version
Hadoop 3.1.3

安装Hive

1. 解压

# 解压安装包并移动到/usr/local/hive下
tar apache-hive-3.1.2-bin.tar.gz
mv ./apache-hive-3.1.2-bin/ /usr/local/hive

2. 配置环境变量

配置环境变量的方法比较多,这里统一将环境变量放在 /etc/profile.d/my_env.sh 内。

# 配置环境变量:
vim /etc/profile.d/my_env.sh
# 添加 HIVE_HOME 和 PATH
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
# 使得配置的环境变量立即生效:
    # 首先是要赋权限【只操作一次就行】
    chmod +x /etc/profile.d/my_env.sh
source /etc/profile.d/my_env.sh

3. 配置Hive

3.1 hive-env.sh

修改 ${HIVE_HOME}/conf/hive-env.sh 配置 HADOOP_HOME:


# 拷贝 Hive 的环境配置模板 hive-env.sh.template 修改 hive-env.sh 指定 Hadoop 的安装路径
# 【这一步是非必要的,如果你有多个Hadoop环境,配置的HADOOP_HOME并非Hive使用的,这个就要配置】
cp hive-env.sh.template hive-env.sh
vim /usr/local/hive/conf/hive-env.sh
    # 添加以下内容
    HADOOP_HOME=/usr/local/hadoop-3.1.3

3.2 hive-site.xml

新建 ${HIVE_HOME}/conf/hive-site.xml 文件,配置存放元数据的 MySQL 数据库地址、驱动、用户名和密码等【此时使用的Hadoop的MapReduce计算引擎,想修改成其他计算引擎也是在这个文件里进行配置】。

vim /usr/local/hive/conf/hive-site.xml

文件内容如下:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://tcloud:3306/metastore?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false</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>tcloud@2021</value>
    </property>
    <property>
        <name>hive.metastore.schema.verification</name>
        <value>false</value>
    </property>
</configuration>

4. 拷贝数据库驱动

将 MySQL 驱动包拷贝到 Hive 安装目录的 ${HIVE_HOME}/lib/ 目录下。百度网盘 mysql-connector-java-5.1.47.jar 分享:

链接:https://pan.baidu.com/s/1X15dNrH-B-U5oxw-H6sn8A 
提取码:ibaj

5. 初始化元数据库

当使用的 hive 是 1.x 版本时,可以不进行初始化操作,Hive 会在第一次启动的时候会自动进行初始化,但不会生成所有的元数据信息表,只会初始化必要的一部分,在之后的使用中用到其余表时会自动创建;当使用的 hive 是 2.x 3.x 版本时,必须手动初始化元数据库。初始化命令:

# schematool 命令在安装目录的 bin 目录下 由于上面已经配置过环境变量 在任意位置执行即可
schematool -dbType mysql -initSchema
# 显示如下信息 说明初始化结束
Initialization script completed
schemaTool completed

6. 启动

【需要先启动 hdfs】由于已经将 Hive 的 bin 目录配置到环境变量,直接使用以下命令启动,成功进入交互式命令行后执行 show databases 命令,无异常则代表搭建成功。

[root@tcloud ~]#  hive
## 查看数据库
hive> show databases;
OK
default
Time taken: 0.331 seconds, Fetched: 1 row(s)

在 Mysql 中也能看到 Hive 创建的库和存放元数据信息的表:

在这里插入图片描述
至此,hive-3.1.2版本安装成功。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
SQL DataWorks 关系型数据库
DataWorks操作报错合集之如何处理数据同步时(mysql->hive)报:Render instance failed
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
3天前
|
Java
Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
【10月更文挑战第14天】Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
17 2
|
5天前
|
Java 关系型数据库 MySQL
【编程基础知识】Eclipse连接MySQL 8.0时的JDK版本和驱动问题全解析
本文详细解析了在使用Eclipse连接MySQL 8.0时常见的JDK版本不兼容、驱动类错误和时区设置问题,并提供了清晰的解决方案。通过正确配置JDK版本、选择合适的驱动类和设置时区,确保Java应用能够顺利连接MySQL 8.0。
41 1
|
14天前
|
SQL JSON 关系型数据库
MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
【10月更文挑战第3天】MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
64 5
|
14天前
|
SQL 分布式计算 关系型数据库
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
Hadoop-21 Sqoop 数据迁移工具 简介与环境配置 云服务器 ETL工具 MySQL与Hive数据互相迁移 导入导出
33 3
|
14天前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
45 4
|
1月前
|
关系型数据库 MySQL 数据库
MySQL高级篇——MVCC多版本并发控制
什么是MVCC、快照读与当前读、隐藏字段、Undo Log版本链、ReadView、举例说明、InnoDB 解决幻读问题
MySQL高级篇——MVCC多版本并发控制
|
14天前
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
51 0
|
17天前
|
Oracle IDE Java
IDEA安装教程配置java环境(超详细)
IDEA安装教程配置java环境(超详细)
|
1月前
|
监控 关系型数据库 MySQL
如何升级mysql的版本
如何升级mysql的版本
259 2