大数据 -16-Hive HiveServer2 HS2 允许客户端远程执行 HiveHQL HCatalog

点一下关注吧!!!非常感谢!!持续更新!!!
🚀 AI 篇持续更新中!(长期更新)
目前 2025 年 06 月 16 日更新到:AI 炼丹日志-29 - 字节跳动 DeerFlow 深度研究框架 私有部署 测试上手 架构研究,持续打造实用 AI 工具指南!📐🤖
💻 Java 篇正式开启!(300 篇)
目前 2025 年 06 月 17 日更新到:Java-48 深入浅出 Tomcat 手写 Tomcat 实现【01】 MiniCat Bootstrap HttpServlet Request ResponseMyBatis 已完结,Spring 已完结,Nginx 已完结,Tomcat 正在更新,深入浅出助你打牢基础!
📊 大数据板块已完成多项干货更新(300 篇):
包括 Hadoop、Hive、Kafka、Flink、ClickHouse、Elasticsearch 等二十余项核心组件,覆盖离线+实时数仓全栈!目前 2025 年 06 月 13 日更新到:大数据-278 Spark MLib - 基础介绍 机器学习算法 梯度提升树 GBDT 案例 详解

章节内容
上一节我们完成了:
Metastore 的基础概念
配置模式:内嵌模式、本地模式、远程模式
实机配置远程模式 并测试
背景介绍
这里是三台公网云服务器,每台 2C4G,搭建一个 Hadoop 的学习环境,供我学习。
2C4G 编号 h121
2C4G 编号 h122
2C2G 编号 h123

HiveServer2
HiveServer 是一个服务端接口,使远程客户端可以执行对 Hive 的查询并返回结果。
HiveServer2(HS2)是一种允许客户端对 Hive 执行查询的服务。
为 Hive 提供了一种允许客户端远程访问的服务
基于 thrift 协议,支持跨平台,跨语言编程对 Hive 访问
允许远程访问 Hive
主要功能
主要提供的功能有:
提供 SQL 接口:支持 JDBC、ODBC 等接口,客户端可以发送 SQL 语句
远程访问 Hive:支持多客户端并发连接,允许跨网络访问
安全控制:支持认证(如 Kerberos)、授权机制
支持会话隔离:每个客户端的连接是隔离的,支持多租户并发
支持查询队列控制:结合 YARN 或 LLAP,可管理查询资源和调度
安全机制
认证:Kerberos、LDAP、Custom
授权:SQL 标准授权、Ranger
代理用户:配置 core-site.xml 中的 hadoop.proxyuser.* 参数
其他组件
HiveServer2 可与以下组件配合使用:
HCatalog:暴露 Hive 元数据给 MapReduce、Pig、Spark
Ranger/Sentry:用于细粒度的数据权限控制
LLAP(Live Long And Process):常驻进程加速查询执行
Zookeeper:实现多 HS2 实例负载均衡和高可用(HiveServer2 HA 模式)
典型配置
hive-site.xml 中常见配置项:
如果需要通过 WebUI 管理,还需开放 10002 端口(Web UI 默认端口)。
注意事项
默认端口为 10000(Thrift 服务),10002(Web UI)
若使用 Beeline 本地连接 HiveServer2,确保网络连通且服务已启动
在 Kerberos 模式下,需配置相关 ticket 并正确认证
实机配置
配置规划

修改 core-site
需要修改 h121 h122 h123 的 Hadoop 相关配置:
增加如下的内容:

修改 hdfs-site
增加如下内容:
配置如下:

启动服务

此时访问 Web 页面:

Beeline
在 h122 节点上启动 beeline

连接测试
使用指令进行连接
连接过程中,需要输入账号密码(你的 ROOT 账号和密码)

测试命令

HCatalog
HCatalog 使用了 Hive 的元数据存储,这样就使 MapReduce 这种第三方可以通过 Hive 进行数据的读取,同时 HCatalog 还支持用户子啊 MapReduce 程序中只读取需要的分区表和字段,而不需要读取整个表,只提供一种逻辑上的视图来读取数据。
测试运行:
创建表测试:

版权声明: 本文为 InfoQ 作者【武子康】的原创文章。
原文链接:【http://xie.infoq.cn/article/eb758a8d4fa7a826970e3eae1】。文章转载请联系作者。
评论