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

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 【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
目录
相关文章
|
12天前
|
Java Maven
Class path contains multiple SLF4J bindings,后来找到的解决思路是idea2019.3必须用java11和idea2019.3版本,必须用applicatio
Class path contains multiple SLF4J bindings,后来找到的解决思路是idea2019.3必须用java11和idea2019.3版本,必须用applicatio
java.lang.ExceptionInInitializerError,可能是junit的版本出现了问题,改一下版本就可以了
java.lang.ExceptionInInitializerError,可能是junit的版本出现了问题,改一下版本就可以了
|
12天前
|
Java
Error:Internal error: (java.lang.IllegalAccessError) class com.,idea2019.3版本,必须用application2.7.6或者以下
Error:Internal error: (java.lang.IllegalAccessError) class com.,idea2019.3版本,必须用application2.7.6或者以下
|
16天前
|
SQL 关系型数据库 MySQL
解决 MySQL 5.7 及以上版本中的 “ONLY_FULL_GROUP_BY“ 错误
解决 MySQL 5.7 及以上版本中的 “ONLY_FULL_GROUP_BY“ 错误
42 3
|
16天前
|
Java
Java垃圾回收器:版本差异、使用技巧与最佳实践
Java垃圾回收器:版本差异、使用技巧与最佳实践
23 1
|
2天前
|
关系型数据库 MySQL 数据库
Relational Database Service RDS 各个版本
【7月更文挑战第12天】
3 0
|
5天前
|
关系型数据库 数据库 RDS
利用DTS将自建mysql5.7版本数据库迁移至对应rds报错
利用DTS将自建mysql5.7版本数据库迁移至对应rds报错
29 0
|
9天前
|
SQL NoSQL 关系型数据库
若依修改02,若以提供了多种版本,RuoYi-Cloud和SpringBoot+Vue都是PC端的,如果想要适配手机端,用Uniapp+vue,导入Mysql和启动Redis
若依修改02,若以提供了多种版本,RuoYi-Cloud和SpringBoot+Vue都是PC端的,如果想要适配手机端,用Uniapp+vue,导入Mysql和启动Redis
|
9天前
|
XML 关系型数据库 MySQL
支付系统----微信支付19---集成MyBatis-plus,数据库驱动对应的依赖版本设置问题,5没版本没有cj这个依赖,mysql驱动默认的是版本8,这里是一个父类,数据库都有,写个父类,继承就行
支付系统----微信支付19---集成MyBatis-plus,数据库驱动对应的依赖版本设置问题,5没版本没有cj这个依赖,mysql驱动默认的是版本8,这里是一个父类,数据库都有,写个父类,继承就行
|
12天前
|
Java
Error:java: 错误: 无效的源发行版:13, 类文件具有错误的版本 61.0, 应为 55.0 请删除该文件或确保该文件位于正确的类路径子目录中。
Error:java: 错误: 无效的源发行版:13, 类文件具有错误的版本 61.0, 应为 55.0 请删除该文件或确保该文件位于正确的类路径子目录中。