Windowns 环境 Dbeaver 配置连接 kerberos 环境 hive

连接配置

下载 MIT Kerberos FRO Windows

安装 MIT Kerberos FRO Windows

一路next

配置 hosts

配置主机 hosts(C:\Windows\System32\drivers\etc)

新加 hadoop 集群的 hosts 主机名,如:

10.21.64.12 hadoop01
10.21.64.13 hadoop02
10.21.64.14 hadoop03

修改 krb5.ini 文件

默认路径在 C:\ProgramData\MIT\Kerberos5 ,如果安装路径不同则根据自己的安装路径查找文件

将服务器中下载的 krb5.conf 内容复制到 krb5.ini 中,不建议直接修改后缀,会导致读取失败

内容如下:

# Configuration snippets may be placed in this directory as well
[libdefaults]
# dns_lookup_realm = false
# ticket_lifetime = 24h
# renew_lifetime = 7d
# forwardable = true
# rdns = false
# pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
# default_realm = EXAMPLE.COM
# default_ccache_name = KEYRING:persistent:%{uid}
 default_realm = HIVE.COM
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 clockskew = 120
 udp_preference_limit = 1

[realms]
# EXAMPLE.COM = {
#  kdc = kerberos.example.com
#  admin_server = kerberos.example.com
# }
 HIVE.COM = {
  kdc = hadoop01
  admin_server = hadoop01
 }

[domain_realm]
# .example.com = EXAMPLE.COM
# example.com = EXAMPLE.COM

 .hive.com = HIVE.COM
 hive.com = HIVE.COM

配置 KFW 环境变量

增加系统环境变量:

# 默认是这个路径,有其他安装路径自行修改
KRB5_CONFIG=C:\ProgramData\MIT\Kerberos5\krb5.ini

# temp目录需要手动创建
KRB5CCNAME=C:\temp\krb5cache

kinit 认证权限

下载服务器上的 keytab 文件到本地,进入 dos 环境

执行命令如下:

kinit -kt test111.keytab test111/hadoop01@HIVE.COM
  • test111.keytab:keytab文件名
  • test111:是鉴权账号名称
  • hadoop01@HIVE.COM:hadoop 集群 keyboard 的 principal

执行成功后可以使用 klist 查看状态

相应的C:\temp目录也会生成一个 cache 文件

打开 MIT Kerberos Ticket Manager 软件也可以查看到生成的密钥

准备DBeaver环境

下载并安装 DBeaver

修改 dbeaver 配置,找到dbeaver.ini文件,在文件最后添加

-Djavax.security.auth.useSubjectCredsOnly=false
-Djava.security.krb5.conf=C:\ProgramData\MIT\Kerberos5\krb5.ini
-Dsun.security.krb5.debug=true

DBeaver连接配置

添加 DBeaver 连接,新增一个 hive 连接,编辑驱动,将 URL 模板修改为 jdbc:hive2://{host}:{port}/{database};principal=hive/{host}@AOTAIN.COM ,添加 jdbc 驱动文件,找到类,点击确定后,输入主机名、库名、用户名,测试连接

URL 模板中的 principal 中"hive"应该根据 hive 的 hive-site.xml 文件中 hive.server2.authentication.kerberos.principal 配置而来

如 hive 的 hive-site.xml 文件 hive.server2.authentication.kerberos.principal 配置如下:

<property>
  <name>hive.server2.authentication.kerberos.principal</name>
  <value>hdfs/_HOST@HIVE.COM</value>
</property>

如上,URL 模板中的 principal 应为 hdfs/{host}@AOTAIN.COM

添加完成后,点击测试连接,连接成功

其他问题

kerberos 认证登录后,使用的hive数据库用户是?

鉴权信息如下:

hive/hadoop01@HIVE.COM
  • hive:鉴权账号
  • hadoop01@HIVE.COM:hadoop 集群 keyboard 的 principal
  1. 鉴权账号为hive,操作系统中hive账号存在
hive/hadoop01@HIVE.COM

  1. 鉴权账号为hdfs,操作系统中hdfs账号不存在,且core-site.xml文件中配置规则
hdfs/hadoop01@HIVE.COM

  1. 鉴权账号为test111,操作系统中test111不存在,且core-site.xml文件未中配置规则
test111/hadoop01@HIVE.COM

hadoop.security.auth_to_local配置

hadoop.security.auth_to_local

MIT 切换 keytab 之后,dbeaver 不生效

需要重启dbeaver

参考文档

DBeaver使用Kerberos连接Hive-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值