1、文章编写目的
网上很多都是介绍Windows下如何用DBeaver 访问带kerberos的Impala, 很少有介绍Mac的下如何配置的,本人在Mac下配置时, 走了一些弯路, 记录一下, 供后来者参考
OS: macOS Mojave 10.14.6
DBeaver: 版本21.1.1.202106210813
Impala驱动: 2.5.34
3、kerberos认证
将服务器上的/etc/krb5.conf 文件放到mac /etc/krb5.conf, 将keytab文件放到本地任意目录下
[libdefaults]
renew_lifetime = 7d
forwardable = true
default_realm = ZETATEST.COM
ticket_lifetime = 24h
dns_lookup_realm = false
dns_lookup_kdc = false
default_ccache_name = /tmp/krb5cc_%{uid}
#default_tgs_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5
#default_tkt_enctypes = aes des3-cbc-sha1 rc4 des-cbc-md5
[logging]
default = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
kdc = FILE:/var/log/krb5kdc.log
[realms]
ZETATEST.COM = {
admin_server = zetatest.com
kdc = zetatest.com
[domain_realm]
.zetatest.com = ZETATEST.COM
zetatest.com = ZETATEST.COM
kerberos认证命令
kinit -kt ~/Downloads/hive.service.keytab hive/gs-server-9559
修改DBeaver配置
修改DBeaver app中的dbeaver.ini文件, 在文件最后增加三行, 这个地方注意, java.security.krb5.conf
网上windows的教程配置的是"/etc/krb5.conf"
, mac需要去掉双引号
# 允许程序从任意位置获取证书,而不是只能从已经存在的subject中获取证书
-Djavax.security.auth.useSubjectCredsOnly=false
# 制定krb5.conf的位置
-Djava.security.krb5.conf=/etc/krb5.conf
# 开启kerberos debug
-Dsun.security.krb5.debug=true
4、获取Impala JDBC驱动
在Cloudera官网下载Impala的JDBC驱动包, 选择与impala server版本匹配的驱动包, 这里我选择2.5.34
, 操作系统选择Mac, 下载需要登录, 注册信息随便填
https://www.cloudera.com/downloads/connectors/impala/jdbc/2-5-34.html
KrbRealm改为你自己的realm
jdbc:impala://{host}:{port}/{database};AuthMech=1;KrbRealm=ZETATEST.COM;KrbHostFQDN={host};KrbServiceName=impala
4.添加驱动jar
选择库
标签, 点击添加文件, 将下载的驱动包解压, 其中的Cloudera_ImpalaJDBCXX_X.X.XX文件夹的全部jar
添加进来, 点击找到类, 确认驱动类com.cloudera.impala.jdbc41.Driver存在
2.DBeaver客户需要配置Java Kerberos环境的相应参数, 注意-Djava.security.krb5.conf=/etc/krb5.conf不带双引号
否则会报错如下