保姆级连接FusionInsight MRS kerberos Hive
数新网络,让每个人享受数据的价值
https://xie.infoq.cn/link?target=https%3A%2F%2Fwww.datacyber.com%2F
概述
本文将介绍在华为云 FusionInsight MRS(Managed Relational Service)的Kerberos环境中,如何使用Java和DBeaver实现远程连接Hive的方法。
JAVA 方式
一、测试环境信息
1. MRS 3.1.5 安全集群(开启kerberos)
2. windows 11 64位,需要和MRS集群网络互通
3. IntelliJ IDEA 2022.3.2
二、创建角色和用户
1. 登录MRS管理控制台页面。
2. 单击"集群列表",在"现有集群"列表,单击指定的集群名称,进入集群信息页面。
3. 单击“集群管理页面”后的"前往Manager",打开Manager页面。
a. 在弹性公网IP下拉框中选择可用的弹性公网IP或单击“管理弹性公网IP”购买弹性公网IP,并进行绑定。
b. 勾选"我确认xx.xx.xx.xx为可信任的公网访问IP,并允许从该IP访问MRS Manager页面",如下图:

4. 点击"确定",进入Manager登录页面。
5. 输入创建集群时默认的用户名"admin"及设置的密码,点击"登录"进入Manager页面。
6. 在Manager 界面选择"系统 > 权限 > 角色",如下图:

7. 点击"添加角色",如下图:

填写如下信息:
· 角色名称:例如mrrole。
· 配置资源权限:选择“HDFS > 文件系统 ”,勾选“权限”列的“读”、“写”和“执行”,勾选完全后,不要单击确认,要单击如下图的待操作的集群名,再进行后面权限的选择,其余产品也是类似操作,直至全部产品权限都已选择完成。

8. 选择“系统 > 权限 > 用户组 > 添加用户组”,为样例工程创建一个用户组,例如mrgroup,如下图:

9. 选择“系统 > 权限 > 用户 > 添加用户”,为样例工程创建一个用户,最后点击"确定"完成用户创建。如下图:
· 用户名:例如test,当需要执行Hive程序时,请设置用户名为“hiveuser”。
· 用户类型:“人机”用户。
· 密码:输入密码(特别注意该密码在后面运行程序时要用到)
· 用户组:加入用户组mrgroup和supergroup。
· 主组:设置其“主组”为supergroup,
· 角色:绑定角色mrrole取得权限。

10. 选择“系统 > 权限 > 用户”,选择新建用户test,选择“更多 >下载认证凭据”,保存后解压得到用户的keytab文件与krb5.conf文件。

11. ECS 登录kerberos用户,第一次登录会默认重置密码的


注意:
· 如果在部署MRS服务的ECS上使用密码登录需要先进行密码重置,重置密码不可以与添加用户的一致。重置过后需重新下载认证凭证。
三、准备工作
1. 下载hive客户端配置
a. 登录MRS管理控制台页面
b. 单击“集群列表 > 现有集群”,在集群列表中单击指定的集群名称,进入集群信息页面。
c. 输入账号密码进入Manager页面
d. 选择“主页 -> hive -> 更多-下载客户端”


e. 选择完成客户端 ->x86_64-> 确定,下载到本地windows环境下

f. 下载完成后打开此文件

g. 根据如下图片中的目录将jdbc文件复制到本地

2. 下载keytab 文件
a. 登录MRS管理控制台页面
b. 单击“集群列表 > 现有集群”,在集群列表中单击指定的集群名称,进入集群信息页面。
c. 输入账号密码进入Manager页面
d. 选择系统->更多->下载认证凭证,下载到本地windows环境下

e. 将下载到本地的krb5.conf 文件内的地址修改为外网地址
3. 查看系统生成principal
a. 登录到MRS集群ECS服务器,执行如下命令


b. 执行如下命令,查看系统principal


4. idea 引入本地依赖
a.打开创建好的maven项目,创建lib 文件夹,将JDBC文件夹内的jar放入lib目录下


b. 点击flie -> Project Stucture-> Moduies


c. 选择文件夹然后点击OK

d. 勾选上选择的文件,然后点击apply->ok

e. 加载完成

5. idea 引入配置文件
a. 将修改完成的krb5.conf 导入至resources
b. 将user.keytab导入至resources

四、JAVA 代码示例
1. 华为云使用代码连接kerberos Hive URL 示例
a. HiveServer2 连接URL示例

o {host}:弹性公网地址或内网地址
o {port}:hiveserver2 端口,默认10000
o {yousystemuser}:创建MRS集群系统为每个产品生成的principal,查看方式参考"系统生成principal"
o {youruser}:在"创建角色和用户"创建的用户名称(注:无需跟realm也可以)
o {yourkeytabpath}:自己用户的keytab文件路径,keytab下载方式参考"下载keytab文件"
b. Zookeeper 连接URL示例

o {host}:弹性公网地址或内网地址
o {port}:zookeeper 端口,默认2181
o {yousystemuser}:创建MRS集群系统为每个产品生成的principal,查看方式参考"系统生成principal"
o {youruser}:在"创建角色和用户"创建的用户名称(注:无需跟realm也可以)
o {yourkeytabpath}:自己用户的keytab文件路径,keytab下载方式参考"下载keytab文件"
2. 自测代码示例如下
a. hiveServer2 方式

· 执行结果如下

b. zookeeper 连接方式
注意:
o zookeeper连接方式必须以内网进行连接,购买华为云ECS Windows 服务器或打jar包形式
o 上传krb5.conf &user.keytab文件到 ECS服务器上,代码中地址进行修改

· 执行结果如下

DBeaver 方式
一、测试环境信息
1. MRS 3.1.5 安全集群(开启kerberos)
2. windows 11 64位,需要和MRS集群网络互通
3. DBeaver 21.3.0版本 64bit
4. MIT 4.1 版本 64bit
二、准备工作
1. MIT 安装
a. 在官网下载对应的MIT版本,kerberos MIT官网地址

b. 下载完成后打开,点击"Next"

c. 选择同意协议并点击"Next"

d. 选择自定义安装

e. 点击 Browse-> look in -> ok-> Next

f. 取消开机自启->Next

g. 点击"Install",开始安装Kerberos

h. 等待安装结束后点击"Finish"

i. 选择Yes,重启完成后进行下一步

2. 配置环境变量
a. 将修改完成的krb5.conf 文件重命名为krb5.ini,并放置某一路径下(例:D:\softwarePackage\kerberos)
b. 配置环境变量

c. 进入到安装MIT的bin目录下,进行认证测试

3. DBeaver安装
a. 官网下载对应的DBeaver版本,DBeaver官网


b. 打开下载的exe文件->选择语言模式->ok->下一步



c. 选择我接受

d. 选择多用户使用->下一步

e. 选择语言->ok

f. 点击下一步->我接受


g. 选择安装的组件,DBeaver 21.3 版本java版本需要≥11,如果本机java环境大于11的话取消勾选"Include Java","DBeaver Community"是必选项,然后点击下一步

h. 选择部署的目标文件夹,然后点击下一步

i. 选择安装DBeaver 菜单栏名称(默认即可)->安装

j. 等待安装完成,勾选"Create Desktop Shortcut"(桌面快捷方式)->点击完成

k. 安装完成后,进入DBeaver安装路径,在dbeaver.ini追加如下内容,然后保存退出,配置完成后需要重启DBeaver


注意:java.security.krb5.conf路径替换为自己的主机所在的地址
三、DBeaver 创建连接
1. 打开DBeaver->创建新连接->选择Hive->点击下一步


2. 编辑驱动设置

3. 配置URL模板
a. URL 模板如下

o {yousystemuser} 替换自己MRS集群的principal,查找方式参考"查看系统生成principal"
o {port}:替换为自己Hive端口
b. 将URL模板填充至标红部分

4. 选择需要引入的jar,下载步骤参考"下载hive客户端配置"



5. 点击找到类->确定

6. 填充外网地址&数据库名称,然后测试链接


相关文章:
保姆级连接FusionInsight MRS kerberos Hive
数新网络,让每个人享受数据的价值https://xie.infoq.cn/link?targethttps%3A%2F%2Fwww.datacyber.com%2F 概述 本文将介绍在华为云 FusionInsight MRS(Managed Relational Service)的Kerberos环境中,如何使用Java和DBeaver实现远…...
electerm 跨平台的终端 /ssh/sftp 客户端
文章目录 electerm功能特性主题配色 electerm 每个程序员基本都离开SSH链接工具,目前市场上好用的基本都是收费的 给大家推荐一款国人开发的开源链接工具https://github.com/electerm/electerm 到目前为止star已经9.5K了,非常受欢迎 功能特性 支持ssh,telnet,serialport,本地和…...
Anthropic LLM论文阅读笔记
研究时间:与Instrcut GPT同期的工作,虽然其比ChatGPT发布更晚,但是其实完成的时间比ChatGPT更早。与ChatGPT的应用区别:该模型比ChatGPT回答我不知道的概率更高。将强化学习用于大语言模型(RLHF)࿱…...
docker启动容器失败,然后查看日志,docker logs查看容器出现报错:
docker 启动容器失败,然后docker logs 查看容器出现报错: error from daemon in stream: Error grabbing logs: invalid character l after object key:value pair在网上看到的 解决方案: 找到你日志文件目录: docker inspect …...
【开源】基于Vue.js的网上药店系统
项目编号: S 062 ,文末获取源码。 \color{red}{项目编号:S062,文末获取源码。} 项目编号:S062,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 药品类型模块2.3 药…...
App 设计工具
目录 说明 打开 App 设计工具 示例 创建 App 创建自定义 UI 组件 打开现有 App 文件 打包和共享 App 本文主要讲述以交互方式创建 App。 说明 App 设计工具是一个交互式开发环境,用于设计 App 布局并对其行为进行编程。 可以使用 App 设计工具:…...
毅速:3D打印随形透气钢为解决模具困气提供了新助力
在模具行业中,困气是一个较常见的问题。解决困气问题的方法有很多,透气钢就是其一。传统的制造的透气钢往往存在一些不足,如加工难度大、无法满足复杂形状的需求等。随着3D打印技术的发展,一种新型的随形透气钢技术逐渐崭露头角&a…...
某软件商店app抓包分析与sign加密算法实现
文章目录 1. 写在前面2. 抓包配置3. 抓包分析4. 接口测试5. sign加密算法6. 数据效果展示 【作者主页】:吴秋霖 【作者介绍】:Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作! 【作者推荐】…...
万界星空科技QMS质量管理系统功能
QMS质量管理系统结合质量决策、综合质量管理、过程质量控制三个层次要素,帮助企业实现产品全寿命周期质量数据的及时、灵活、准确和全面采集。 通过质量管理软件能够实现质量数据科学处理和应用,包括数据的系统化组织、结构化存贮、便捷式查询、定制化统…...
杨传辉:从一体化架构,到一体化产品,为关键业务负载打造一体化数据库
在刚刚结束的年度发布会上,OceanBase正式推出一体化数据库的首个长期支持版本 4.2.1 LTS,这是面向 OLTP 核心场景的全功能里程碑版本,相比上一个 3.2.4 LTS 版本,新版本能力全面提升,适应场景更加丰富,有更…...
oracle “ORA-25153:临时表空间为空”
从生产上面备份出来了一个数据库,应用在使用时显示ORA-25153临时表空间为空的报错,原因一般是数据库迁移时,没有迁移完整造成的 解决方法 1.创建新的临时表空间temp2 create temporary tablespace temp2 tempfile DATA size 100M autoexten…...
游览器缓存讲解
浏览器缓存是指浏览器在本地存储已经请求过的资源的一种机制,以便在将来的请求中能够更快地获取这些资源,减少对服务器的请求,提高页面加载速度。浏览器缓存主要涉及到两个方面:缓存控制和缓存位置。 缓存控制 Expires 头&#…...
中国天然径流量格点数据集CNRD v1.0(1961-2018)
简介 中国天然径流量是指在中国境内自然形成的各种河流、湖泊、水库等水体中自然产生的流量。根据中国水利部的数据,中国天然径流量在年际变化和地区分布上都非常不均衡。北方地区径流量较小,南方地区则较大;而东部沿海地区的水资源较为丰富,而西北干旱地区的水资源则非常…...
JoyT的科研之旅第一周——科研工具学习及论文阅读收获
CiteSpace概述 CiteSpace 是一个用于可视化和分析科学文献的工具,它专门针对研究者进行文献回顾和趋势分析。CiteSpace 的核心功能是创建文献引用网络,这些网络揭示了研究领域内各个文献之间的相互关系。使用 CiteSpace 可以为论文研究做出贡献的几种方…...
expo 初始化指定SDK版本项目
expo init my-project --template expo-template-blanksdk-44...
js进阶笔记之作用域
目录 全局作用域 局部作用域 函数作用域 块作用域 作用域链 闭包 垃圾回收机制 作用域(scope)规定了变量能够被访问的“范围”,离开了这个“范围”变量便不能被访问,作用域分为全局作用域和局部作用域。 全局作用域 <…...
【汉诺塔 —— (经典分治递归)】
汉诺塔 —— (经典分治递归) 一.汉诺塔介绍二.分治算法解决汉诺塔问题三.汉诺塔问题的代码实现四.主函数测试展示 一.汉诺塔介绍 汉诺塔问题源自印度一个古老的传说,印度教的“创造之神”梵天创造世界时做了 3 根金刚石柱,其中的一…...
APP运营常用的ChatGPT通用提示词模板
用户获取:请帮助我制定一个用户获取计划,包括目标用户群体、获取渠道、营销策略等方面的内容。 用户留存:我们希望提高用户的留存率,请帮助我分析用户流失的原因,并提供一些留存策略和措施。 用户活跃度:…...
医学检验(LIS)管理系统源码,LIS源码,云LIS系统源码
医学检验(LIS)管理系统源码,云LIS系统全套商业源码 随着全自动生化分析仪、全自动免疫分析仪和全自动血球计数器等仪器的使用,检验科的大多数项目实现了全自动化分析。全自动化分析引入后,组合化验增多,更好的满足了临床需要&…...
RabbitMQ 安装(在docker容器中安装)
为什么要用? RabbitMQ是一个开源的消息代理和队列服务器,主要用于在不同的应用程序之间传递消息。它实现了高级消息队列协议(AMQP),并提供了一种异步协作机制,以帮助提高系统的性能和扩展性。 RabbitMQ的作…...
CANopen设备现场配置避坑指南:LSS协议详解与节点ID/波特率设置全流程
CANopen设备现场配置避坑指南:LSS协议详解与节点ID/波特率设置全流程 当你面对一批出厂节点ID相同或未知的CANopen从站设备时,如何高效、安全地完成节点ID和网络波特率的配置?这可能是每个现场工程师都曾头疼的问题。本文将深入解析LSS&#…...
GLPI安装总报错?这份CentOS 7下的“保姆级”排错指南请收好(附PHP模块、文件权限详解)
GLPI安装总报错?这份CentOS 7下的“保姆级”排错指南请收好(附PHP模块、文件权限详解) 在CentOS 7上部署GLPI时,即使按照教程一步步操作,也常常会遇到各种"坑"。本文将带你深入排查这些常见问题,…...
RS-485 以太网 CAN总线 应用场景差异
结论RS‑485:低成本、远距离、低速、半双工、简单工控,小设备点对点 / 小组网CAN 总线:多主、抗干扰、高可靠、实时性强,汽车、工业现场总线首选以太网:高速、大带宽、通用互联,大数据、远程、IT/OT 融合、…...
合同管理系统哪个好?2026 年选型指南
2026年企业数字化转型进入深水区,合同作为企业经营核心法律文件,早已不再是简单存档保管的纸质资料。合同起草慢、审批堵、签署难、履约乱、归档杂、风险高、数据孤岛等痛点,正持续吞噬企业利润、增加合规隐患。市面上合同管理系统五花八门&a…...
3步获取B站直播推流码:告别官方限制,开启专业直播自由之旅
3步获取B站直播推流码:告别官方限制,开启专业直播自由之旅 【免费下载链接】bilibili_live_stream_code 用于在准备直播时获取第三方推流码,以便可以绕开哔哩哔哩直播姬,直接在如OBS等软件中进行直播,软件同时提供定义…...
FlinkCDC实战:从单表到多源合并,一键搞定MySQL实时同步(Flink 1.16.2)
1. 环境准备与基础配置 在开始FlinkCDC实战之前,我们需要先搭建好基础环境。我建议使用Linux系统进行操作,这里以CentOS 7为例。首先确保你已经安装了JDK 1.8,这是Flink运行的基本要求。 下载Flink 1.16.2安装包时,要注意选择与Sc…...
静态IPvs动态IP代理:区别解析与多场景选型指南
随着平台风控机制不断升级,IP 地址已成为识别账号关联和异常行为的重要依据。无论是跨境电商、多账号运营、数据采集还是 AI 自动化任务,频繁更换或共享 IP 都可能触发平台检测,影响账号稳定性与安全性。因此,代理 IP 正逐渐成为多…...
AI技术如何重塑气候预测与生态保护
1. NVIDIA GTC 2025:AI如何重塑气候与生态韧性技术版图 当全球平均气温持续突破历史记录,当极端天气事件开始以月为单位刷新灾害统计,我们正面临着一个前所未有的挑战:如何用技术手段为脆弱的生态系统构筑韧性防线。今年3月17-21日…...
NCMconverter终极指南:3步解锁加密音乐文件的免费播放方案
NCMconverter终极指南:3步解锁加密音乐文件的免费播放方案 【免费下载链接】NCMconverter NCMconverter将ncm文件转换为mp3或者flac文件 项目地址: https://gitcode.com/gh_mirrors/nc/NCMconverter 你是否曾经从音乐平台下载了喜爱的歌曲,却发现…...
用MobileNet搞定垃圾分类:基于TensorFlow2.3,从数据清洗到GUI部署的完整实战
用MobileNet实现高精度垃圾分类:从数据预处理到PyQt5部署的全流程解析 垃圾分类作为计算机视觉在环保领域的典型应用,对模型轻量化和工程化部署提出了独特挑战。本文将手把手带您实现一个准确率达82%的垃圾分类系统,重点解决实际开发中的三个…...
