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

目录

    • 1、编写目的
    • 2、环境
    • 3、kerberos认证
    • 4、修改DBeaver配置
    • 5、获取Impala JDBC驱动
    • 6、创建Impala连接
      • 1.选择新建链接, 搜索并选择Cloudera Impala
      • 2.编辑驱动设置
      • 3.修改url 模板
      • 4.添加驱动jar
      • 5. 测试链接
    • 7、总结

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

Mac使用DBeaver访问Kerberos环境下的Impala_第1张图片

5、获取Impala JDBC驱动

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

6、创建Impala连接

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

Mac使用DBeaver访问Kerberos环境下的Impala_第2张图片

2.编辑驱动设置

Mac使用DBeaver访问Kerberos环境下的Impala_第3张图片

3.修改url 模板

Mac使用DBeaver访问Kerberos环境下的Impala_第4张图片

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存在
Mac使用DBeaver访问Kerberos环境下的Impala_第5张图片
image.png

5. 测试链接

这时候,在常规页面填入主机、端口、数据库, 并点击测试链接
Mac使用DBeaver访问Kerberos环境下的Impala_第6张图片
测试链接成功,显示如下
Mac使用DBeaver访问Kerberos环境下的Impala_第7张图片

7、总结

1.Cloudera提供了Impala JDBC驱动包,添加驱动包中所有的jar文件, 不要只添加ImpalaJDBC41.jar, 或者添加maven下载的impala驱动包impala-jdbc-2.5.34-cdh5.7.2.jar, 否则汇报如下错误
Mac使用DBeaver访问Kerberos环境下的Impala_第8张图片

2.DBeaver客户需要配置Java Kerberos环境的相应参数, 注意-Djava.security.krb5.conf=/etc/krb5.conf不带双引号
否则会报错如下
Mac使用DBeaver访问Kerberos环境下的Impala_第9张图片

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

你可能感兴趣的:(mac,os,x,mac,macos,kerberos,impala)