文章目录
前言
以DBeaver为例,连接含有Kerberos认证的集群的Hive表
1. 配置Kerberos客户端环境
1.1 下载MIT Kerberos for Windows
官网下载
1.2 拷贝krb5.conf
将KDC Server服务器上/etc/krb5.conf文件中的部分内容,拷贝到krb5.ini(ps.博主250没有去掉linux文件路径)
# Configuration snippets may be placed in this directory as well
#includedir /etc/krb5.conf.d/[logging]
#default=FILE:/var/log/krb5libs.log
#kdc =FILE:/var/log/krb5kdc.log
#admin_server =FILE:/var/log/kadmind.log
[libdefaults]
dns_lookup_realm =false
ticket_lifetime =24h
# ticket_lifetime =2m
renew_lifetime =7d
forwardable =true
rdns =false
#pkinit_anchors =FILE:/etc/pki/tls/certs/ca-bundle.crt
default_realm =BIGDATA.HEX.COM
#default_ccache_name =KEYRING:persistent:%{uid}[realms]BIGDATA.HEX.COM={
kdc = 自己的服务ip
admin_server = 自己的服务ip
}[domain_realm].example.com =BIGDATA.HEX.COM
example.com =BIGDATA.HEX.COM
1.3 配置环境变量
变量名:KRB5_CONFIG,变量值:D:\software\kerberos\etc\krb5.ini
变量名:KRB5CCNAME,变量值:D:\software\kerberos\temp\krb5cache
KRB5CCNAME的路径默认是不存在的,因此需要创建temp文件夹,krb5cache文件则不需要创建
配置完环境变量后,重启计算机使其生效
此时执行kinit认证报错
原来jdk自带一个kinit命令,在java的环境变量前加入Kerberos环境
1.4 认证
在可视化界面认证测试一下
注意:
用DBeaver连接Hive时,首先用kinit 命令进行缓存票据
2. DBeaver连接hive
2.1 配置dbeaver.ini
在DBeaver安装路径下找到dbeaver.ini,添加
-Djavax.security.auth.useSubjectCredsOnly=false
-Djava.security.krb5.conf=D:\software\kerberos\etc\krb5.conf
-Dsun.security.krb5.debug=true
(ps.2个文件完全一样,只是本人强迫症)
2.2 连接hive
jdbc url:
jdbc:hive2://服务ip:10000/;principal=hive/[email protected]
版权归原作者 但行益事莫问前程 所有, 如有侵权,请联系我们删除。