0


保姆级连接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. **填充外网地址&数据库名称,然后测试链接

图片

图片

标签: hive java 华为云

本文转载自: https://blog.csdn.net/datacreating/article/details/134603469
版权归原作者 数新网络 所有, 如有侵权,请联系我们删除。

“保姆级连接FusionInsight MRS kerberos Hive”的评论:

还没有评论