Mac使用DBeaver访问Kerberos环境下的Impala

1、编写目的

网上很多都是介绍Windows下如何用DBeaver 访问带kerberos的Impala, 很少有介绍Mac的下如何配置的,本人在Mac下配置时, 走了一些弯路, 记录一下, 供后来者参考

2、环境

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文件放到本地任意目录下

  • krb5.conf文件内容
[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

4、修改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

image.png

5、获取Impala JDBC驱动

在Cloudera官网下载Impala的JDBC驱动包, 选择与impala server版本匹配的驱动包, 这里我选择2.5.34, 操作系统选择Mac, 下载需要登录, 注册信息随便填
https://www.cloudera.com/downloads/connectors/impala/jdbc/2-5-34.html
image.png

6、创建Impala连接

1.选择新建链接, 搜索并选择Cloudera Impala

image.png

2.编辑驱动设置

image.png

3.修改url 模板

image.png

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存在
image.png
image.png

5. 测试链接

这时候,在常规页面填入主机、端口、数据库, 并点击测试链接
image.png
测试链接成功,显示如下
image.png

7、总结

1.Cloudera提供了Impala JDBC驱动包,添加驱动包中所有的jar文件, 不要只添加ImpalaJDBC41.jar, 或者添加maven下载的impala驱动包impala-jdbc-2.5.34-cdh5.7.2.jar, 否则汇报如下错误
image.png

2.DBeaver客户需要配置Java Kerberos环境的相应参数, 注意-Djava.security.krb5.conf=/etc/krb5.conf不带双引号
否则会报错如下
image.png

3.注意JDBC URL KrbRealm地址配置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值