hive3.1集群搭建

本文详细介绍了Hive 3.1集群的搭建过程,包括环境准备、集群配置、解决Jar包冲突、配置Metastore到MySQL等步骤。Hive 3引入的新特性如不再支持MapReduce,采用Tez作为默认查询引擎,支持批查询和交互式查询。同时,Hive CLI已被Beeline取代,并提供了物化视图重写、自动查询缓存和会话资源限制等功能。

Hive 3新特性

  1. 不再支持Mr,取而用Tez 查询引擎,且支持两种查询模式:Container 和 LLAP
  2. Hive CLI不再支持(被beeline取代)
  3. SQL Standard Authorization 不再支持,且默认建的表就已经是ACID表
  4. 支持 “批查询” (TEZ) 或者 “交互式查询”(LLAP)

Hive 3其他特性:
1、物化视图重写;
2、自动查询缓存;
3、会话资源限制:用户会话数,服务器会话数,每个服务器每个用户会话数限制



环境准备

JDK:jdk1.8.0_141
zookeeper:apache-zookeeper-3.5.9
hadoop:hadoop-3.2.3
MySQL:mysql-5.7.31

我这里是本机虚拟机搭建,使用三个节点,分别是node01、node02、node03
hadoop集群搭建可参考我的另一篇文章
hadoop3.2+zookeeper集群搭建


一、集群搭建

1、解压

tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /bigdata/install

#修改文件名
cd /bigdata/install
mv apache-hive-3.1.2-bin hive

2、解决Jar包冲突

#进入hive的lib目录
cd /bigdata/install/hive/lib
#备份日志jar
mv log4j-slf4j-impl-2.10.0.jar log4j-slf4j-impl-2.10.0.jar.bak

#guava版本和hadoop的版本不一致,取高版本的jar
mv guava-19.0.jar guava-19.0.jar.
### CentOS 7 上搭建 Hive 集群的配置步骤 #### 准备工作 在开始搭建 Hive 集群前,需确认 Hadoop 已经成功部署并正常运行。Hive 是构建于 Hadoop 之上的一层数据仓库工具,因此其依赖于 Hadoop 的分布式存储和计算能力[^3]。 --- #### 安装 MySQL 数据库作为元数据库 为了支持 Hive 的元数据管理功能,通常会使用外部关系型数据库(如 MySQL)来存储元数据。以下是安装 MySQL 并完成基本配置的过程: 1. **下载并安装 MySQL** 使用 `yum` 命令安装 MySQL: ```bash sudo yum install mysql-server -y ``` 2. **启动 MySQL 服务** 启动 MySQL 服务并将它设置为开机自启: ```bash systemctl start mysqld systemctl enable mysqld ``` 3. **修改默认密码策略** 编辑 MySQL 配置文件 `/etc/my.cnf.d/mysql-clients.cnf` 或者 `/etc/my.cnf` 文件,添加以下内容以调整字符集和支持中文编码: ```ini [mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_general_ci ``` 修改完成后重启 MySQL 服务: ```bash systemctl restart mysqld ``` 4. **初始化 root 用户密码** 登录 MySQL 控制台并重设 root 密码: ```sql ALTER USER &#39;root&#39;@&#39;localhost&#39; IDENTIFIED BY &#39;your_password&#39;; FLUSH PRIVILEGES; ``` 5. **创建 Hive 元数据库用户** 创建一个新的数据库用于存储 Hive 的元数据,并赋予访问权限: ```sql CREATE DATABASE hive_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; GRANT ALL PRIVILEGES ON hive_db.* TO &#39;hive_user&#39;@&#39;%&#39; IDENTIFIED BY &#39;password&#39;; FLUSH PRIVILEGES; ``` 以上操作完成了 MySQL 的基础配置以及与 Hive 远程连接的支持[^2]。 --- #### 下载并解压 Hive 软件包 1. **获取 Hive 安装包** 访问 Apache 官方网站或者镜像站点下载最新版本的 Hive: ```bash wget https://downloads.apache.org/hive/hive-3.1.0/apache-hive-3.1.0-bin.tar.gz tar zxvf apache-hive-3.1.0-bin.tar.gz mv apache-hive-3.1.0-bin /opt/apps/hive3.1 ``` 2. **编辑环境变量** 将 Hive 添加至系统的 PATH 变量中以便全局调用: ```bash echo "export HIVE_HOME=/opt/apps/hive3.1" >> ~/.bashrc echo "export PATH=\$PATH:\$HIVE_HOME/bin" >> ~/.bashrc source ~/.bashrc ``` --- #### 配置 Hive 参数 进入 Hive 的配置目录并创建必要的 XML 文件: ```bash cd /opt/apps/hive3.1/conf/ cp hive-default.xml.template hive-site.xml vim hive-site.xml ``` 在 `hive-site.xml` 中加入以下关键参数: ```xml <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://<MYSQL_HOST>:3306/hive_db?createDatabaseIfNotExist=true&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>hive_user</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>password</value> </property> ``` 上述配置指定了 Hive 如何通过 JDBC 接口连接到 MySQL 数据库中的元数据表[^4]。 --- #### 初始化 Hive 表结构 执行以下命令加载初始 SQL 脚本以建立所需的元数据表格: ```bash schematool -dbType mysql -initSchema ``` 如果一切顺利,则表示 Hive 成功关联到了指定的 MySQL 实例上。 --- #### 测试 Hive 功能 验证 Hive 是否能够正常使用: ```bash hive CREATE TABLE test_table (id INT, name STRING); INSERT INTO test_table VALUES(1,&#39;Alice&#39;); SELECT * FROM test_table; ``` 当查询返回预期的结果时,说明整个集群已经可以投入使用了[^5]。 --- ### 注意事项 - 确认防火墙规则允许节点间通信。 - 如果遇到任何错误日志,请仔细检查路径、用户名及密码是否匹配实际设定情况。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liu137612432

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值