添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

windows 终端使用 dbeaver 连接 kerberos 认证的 hive 服务

适用模块

客户端

具体说明

客户端工具对接集群

使用示例

本文基于 windows 系统测试编写, mac os 配置仅可作为参数参考

前置条件

1、准备 hiveserver2 服务的jdbc 连接串,通过 easyops 服务管理页面中的 hive 服务实例获取。

2、准备 krb5.conf 配置文件,可以从集群任何一台机器的/etc/krb5.conf 路径中获取。

3、从集群任何一台机器获取 /etc/hosts 文件,并将内容追加配置到 C:\Windows\System32\drivers\etc\hosts文件中

4、确认windows 终端与集群中Kerberos kdc 1088、 zookeeper server 2182、hiveserver2 9999端口能够连通,kdc、zookeeper、hiveserver2 实例地址可以从 easyops 查看,连通性在 windows 机器中使用 PowerShell 窗口 telnet 命令验证。

5、 准备用于 Kerberos 认证的 keytab 和 principal,放在终端用户有权限访问的目录,如桌面目录。

6、联系技术支持获取 kyuubi-hive-jdbc-shaded-1.8.0.18.jar 版本的驱动。

安装 Kerberos

1、下载并安装 Kerberos 客户端

下载完之后,按正常的 windows 软件,默认安装即可,不要修改软件安装路径。

2、配置环境变量,这里编辑账户环境变量

建议将 krb5.ini 和 krb5.cache 存储位置配置在当前 windows 用户的桌面上,避免没有目录权限。 其中 krb5.ini 文件是前置准备中的 krb5.conf 文件,做了重命名。krb5.cache 文件定义 kinit 命令执行后的 token 缓存的存储位置。

3、打开 PowerShell 窗口,使用 kinit 命令登录认证。

登录成功后,右下角的Kerberos 图标变成绿色,打开后,也可以看到相关的 token 信息。

EasyData Hive 服务配置变更

允许运行时设置kyuubi开头的相关参数,bdms.*是默认要用的参数,也加上,否则会影响中台功能。

保存配置后,同步配置重启 hiveserver2 实例生产。

使用 dbeaver 连接 hiveserver2

1、修改 dbeaver.ini 文件

追加如下内容:

-Ddbeaver.distribution.type=zip
-Djavax.security.auth.useSubjectCredsOnly=false
-Djava.security.krb5.conf=C:/Users/semon/Desktop/krb5.ini
-Dsun.security.krb5.debug=true

2、 dbeaver 中创建连接,Kyuubi 的数据库驱动程序。

可以直接使用 dbeaver 默认自带的社区kyuubi-hive-jdbc-shaded-1.8.1.jar 之后的驱动程序,这里使用kyuubi-hive-jdbc-shaded-1.8.0.18.jar版本的驱动,可联系技术支持获取。

3、编辑驱动设置

删除默认的社区驱动,通过“添加文件”加载kyuubi-hive-jdbc-shaded-1.8.0.18.jar,确定保存后,再通过“找到类”,选择驱动类。

4、配置 URL

如果连接 HS 2.1,JDBC 连接串里指定 clientProtocolVersion=8;HS 2.3 或 3.1 无需指定。 直接连接 hiveserver2 的 url 示例如下:

jdbc:hive2://59.111.205.132:9999/default;principal=hive/[email protected];clientProtocolVersion=8

通过 zookeeper 发现连接 hiveserver2 的 url示例如下:

jdbc:hive2://dsc-demo22.jdlt.163.org:2182,dsc-demo20.jdlt.163.org:2182,dsc-demo21.jdlt.163.org:2182/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2;principal=hive/[email protected];clientProtocolVersion=8

5、点测试连接成功后即可。