保姆级连接FusionInsight MRS kerberos Hive

这篇具有很好参考价值的文章主要介绍了保姆级连接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页面",如下图:

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

4. 点击"确定",进入Manager登录页面。

5. 输入创建集群时默认的用户名"admin"及设置的密码,点击"登录"进入Manager页面。

6. 在Manager 界面选择"系统 > 权限 > 角色",如下图:

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

填写如下信息:

· 角色名称:例如mrrole。

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

9. 选择“系统 > 权限 > 用户 > 添加用户”,为样例工程创建一个用户,最后点击"确定"完成用户创建。如下图:

· 用户名:例如test,当需要执行Hive程序时,请设置用户名为“hiveuser”。

· 用户类型:“人机”用户。

· 密码:输入密码(特别注意该密码在后面运行程序时要用到)

· 用户组:加入用户组mrgroup和supergroup。

· 主组:设置其“主组”为supergroup,

· 角色:绑定角色mrrole取得权限。

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

注意:

· 如果在部署MRS服务的ECS上使用密码登录需要先进行密码重置,重置密码不可以与添加用户的一致。重置过后需重新下载认证凭证。

三、准备工作

1. 下载hive客户端配置

a. 登录MRS管理控制台页面

b. 单击“集群列表 > 现有集群”,在集群列表中单击指定的集群名称,进入集群信息页面。

c. 输入账号密码进入Manager页面

d. 选择“主页 -> hive -> 更多-下载客户端”

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

2. 下载keytab 文件

a. 登录MRS管理控制台页面

b. 单击“集群列表 > 现有集群”,在集群列表中单击指定的集群名称,进入集群信息页面。

c. 输入账号密码进入Manager页面

d. 选择系统->更多->下载认证凭证,下载到本地windows环境下

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

e. 将下载到本地的krb5.conf 文件内的地址修改为外网地址

3. 查看系统生成principal

a. 登录到MRS集群ECS服务器,执行如下命令

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

4. idea 引入本地依赖

a.打开创建好的maven项目,创建lib 文件夹,将JDBC文件夹内的jar放入lib目录下

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

e. 加载完成

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

5. idea 引入配置文件

a. 将修改完成的krb5.conf 导入至resources

b. 将user.keytab导入至resources

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

四、JAVA 代码示例

1. 华为云使用代码连接kerberos Hive URL 示例

a. HiveServer2 连接URL示例

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

o {host}:弹性公网地址或内网地址

o {port}:hiveserver2 端口,默认10000

o {yousystemuser}:创建MRS集群系统为每个产品生成的principal,查看方式参考"系统生成principal"

o {youruser}:在"创建角色和用户"创建的用户名称(注:无需跟realm也可以)

o {yourkeytabpath}:自己用户的keytab文件路径,keytab下载方式参考"下载keytab文件"

b. Zookeeper 连接URL示例

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

o {host}:弹性公网地址或内网地址

o {port}:zookeeper 端口,默认2181

o {yousystemuser}:创建MRS集群系统为每个产品生成的principal,查看方式参考"系统生成principal"

o {youruser}:在"创建角色和用户"创建的用户名称(注:无需跟realm也可以)

o {yourkeytabpath}:自己用户的keytab文件路径,keytab下载方式参考"下载keytab文件"

2. 自测代码示例如下

a. hiveServer2 方式

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

· 执行结果如下

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

b. zookeeper 连接方式

注意:

o zookeeper连接方式必须以内网进行连接,购买华为云ECS Windows 服务器或打jar包形式

o 上传krb5.conf &user.keytab文件到 ECS服务器上,代码中地址进行修改

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

· 执行结果如下

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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官网地址

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

d. 选择自定义安装

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

f. 取消开机自启->Next

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

2. 配置环境变量

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

b. 配置环境变量

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

3. DBeaver安装

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

c. 选择我接受

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

e. 选择语言->ok

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

注意:java.security.krb5.conf路径替换为自己的主机所在的地址

三、DBeaver 创建连接

1. 打开DBeaver->创建新连接->选择Hive->点击下一步

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

2. 编辑驱动设置

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

3. 配置URL模板

a. URL 模板如下

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

o {yousystemuser} 替换自己MRS集群的principal,查找方式参考"查看系统生成principal"

o {port}:替换为自己Hive端口

b. 将URL模板填充至标红部分

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

5. 点击找到类->确定

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

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

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver

如何访问连接fusioninsight hive,hive,java,华为云,DBeaver文章来源地址https://www.toymoban.com/news/detail-777300.html

到了这里,关于保姆级连接FusionInsight MRS kerberos Hive的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【大数据笔记】java jdbc连接hive数据库;java hive连接kerberos

    1、pom.xml配置         dependency             groupIdorg.apache.hive/groupId             artifactIdhive-jdbc/artifactId             scope2.1.1/scope         /dependency 2、驱动 org.apache.hive.jdbc.HiveDriver 3、用传统改的Class.forName,然后DriverManager去拿。 二、java hive连接kerberos

    2024年01月19日
    浏览(46)
  • 通过源代码修改使 Apache Hudi 支持 Kerberos 访问 Hive 的功能

    本文档主要用于阐释如何基于 Hudi 0.10.0 添加支持 Kerberos 认证权限的功能。 主要贡献: 针对正在使用的 Hudi 源代码进行 Kerberos-support 功能扩展,总修改规模囊括了 12 个文件约 20 处代码共计 约 200 行代码; 对 Hudi 0.10.0 的源代码进行了在保持所有自定义特性的基础上,支持了

    2024年02月14日
    浏览(42)
  • 关于Java连接Hive,Spark等服务的Kerberos工具类封装

    idea 本地配置,连接服务器;进行kerberos认证,连接hive、HDFS、Spark等服务注意事项: 本地idea连接Hadoop,需要在本地安装Hadoop的window工具 hadoop-3.1.1-winutils-master ,配置环境变量 配置hosts主机名映射 kerberos认证需要在idea工作目录所在的磁盘的根目录下创建对应的文件夹把keytab放

    2024年02月13日
    浏览(61)
  • 企业级大数据安全架构(十)DBeaver连接Hive的Kerberos认证配置

    1.配置本地hosts 因为Kerberos认证过程及集群服务中,很多是以主机名的形式进行访问的,所以工作机要设置hosts. 域名映射,我们通过部署CDH的集群的每一台机器都已经配置了host(文件为/etc/hosts),工作机也需要配置window的host文件,如果提示无法修改,一般是需要管理员权限的原

    2024年02月21日
    浏览(46)
  • 【dbeaver】win环境的kerberos认证和Clouders/cdh集群中Kerberos认证使用Dbeaver连接Hive、Impala和Phoenix

    1.1 下载安装MIT KERBEROS客户端 MIT KERBEROS 下载较新的版本即可。 下载之后一路默认安装即可。 注意:不要修改软件安装位置。 修改系统环境变量中的Path。将刚刚的安装路径置顶。(不置顶,也要比 %JAVA_HOME%bin 和 anaconda 相关的高) 使用CMD命令确认下: 1.2 修改 krb5.conf 文件并

    2024年02月02日
    浏览(54)
  • JDK8 和 JDK17 下基于JDBC连接Kerberos认证的Hive(代码已测试通过)

    之前自研平台是基于jdk8开发的,连接带Kerberos的hive也是jdk8,现在想升级jdk到17,发现过Kerberos的hive有点不一样,特地记录 连接Kerberos, krb5.conf 和对应服务的 keytab 文件以及对应的 principal 肯定是需要提前准备的, 一般从服务器或者运维那里获取 krb5.conf 与 Hive对应的 keytab 文件。 注意

    2024年02月20日
    浏览(48)
  • 【Hive】Hive开启远程连接及访问方法

    写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二

    2024年02月03日
    浏览(39)
  • 华为云Elasticsearch(FusionInsight HD) 连接和开发教程-环境准备

    Elasticsearh简介 Elasticsearch是一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎和分析引擎。设计用于大数据中,能够稳定、可靠、快速地实现实时搜索和分析,并且安装使用的方法十分简单方便。 Elasticsearch相比传统关系数据库,通过时间戳或者精确

    2024年02月03日
    浏览(46)
  • 基于华为MRS实时消费Kafka通过Flink落盘至HDFS的Hive外部表的调度方案

    该需求为实时接收对手Topic,并进行消费落盘至Hive。 在具体的实施中,基于华为MRS 3.2.0安全模式带kerberos认证的Kafka2.4、Flink1.15、Hadoop3.3.1、Hive3.1,调度平台为开源dolphinscheduler。 本需求的完成全部参考华为官方MRS3.2.0开发文档,相关章节是普通版的安全模式。 华为官方文档:

    2024年01月18日
    浏览(46)
  • 基于华为MRS3.2.0实时Flink消费Kafka落盘至HDFS的Hive外部表的调度方案

    该需求为实时接收对手Topic,并进行消费落盘至Hive。 在具体的实施中,基于华为MRS 3.2.0安全模式带kerberos认证的Kafka2.4、Flink1.15、Hadoop3.3.1、Hive3.1,调度平台为开源dolphinscheduler。 本需求的完成全部参考华为官方MRS3.2.0开发文档,相关章节是普通版的安全模式。 华为官方文档:

    2024年01月21日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包