Kerberos下Dbeaver连接Hive

上篇介绍了Dbeaver的介绍和安装,本篇不在啰嗦。直接进入主题。

认证文件准备

Kerberos环境下使用DBeaver连接Hive需要事先准备连接用户的认证文件和集群的krb5.conf配置文件,具体可在管理平台界面的集群管理->安全管理->用户管理下载,使用的用户需要提前创建并绑定角色赋予访问Hive表的权限。

注:使用其他平台如cdh等自行百度如何获取认证文件

下载完认证文件后得到用户keytab和krb5配置,放置在DBeaver的安装目录下即可,比如新建kerberos目录下!

 修改Dbeaver初始化脚本

同样需要修改dbeaver.ini配置,修改后文件内容如下:

-startup
plugins/org.eclipse.equinox.launcher_1.5.600.v20191014-2022.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.1100.v20190907-0426
-vm
D:\program\jdk\bin

-vmargs
-XX:+IgnoreUnrecognizedVMOptions
--add-modules=ALL-SYSTEM
-Xms64m
-Xmx1024m
-Djava.security.auth.login.config=D:/program/dbeaver/kerberos/jaas.conf
-Djavax.security.auth.useSubjectCredsOnly=false
-Djava.security.krb5.conf=D:/program/dbeaver/kerberos/krb5.conf
-Dsun.security.krb5.debug=true

 其中注意项:

1. 修改jdk配置为本地安装的jdk1.8

2. 添加安全相关配置项,jaas.conf配置文件不存在可自行创建改文件,只需要修改为上一步下载的keytab认证文件即可,内容如下:

Client {
  com.sun.security.auth.module.Krb5LoginModule required
  useKeyTab=true
  storeKey=true
  useTicketCache=false
  keyTab=".\\kerberos\\hadoop.keytab"
  principal="hadoop";
};
com.sun.security.jgss.krb5.initiate {
  com.sun.security.auth.module.Krb5LoginModule required
  renewTGT=false
  doNotPrompt=true
  useKeyTab=true
  keyTab=".\\kerberos\\hadoop.keytab"
  principal="hadoop"
  storeKey=true
  useTicketCache=false;
};

驱动包准备

连接HiveServer2需要如下驱动包:

注:这些包使用我司大数据平台已经准备好,可以在下载。其他产品或版本的Hive需要自行查找。

链接: https://pan.baidu.com/s/1vRhxgBXFWlOZrocGrqnteg 提取码: s51b 

修改驱动配置

1. 创建Hive连接

 2. 编辑驱动设置

新建Hive链接会默认使用非kerberos的jdbc链接串,需要编辑驱动添加hiveServer端的principal信息:

然后编辑URL模板,在原来URL后添加principal串:

;principal=hive/managerment2.hde.com@HADOOP.COM

 注意:具体principal信息需要填写所要链接的HiveServer节点的认证信息,可以登录HiveServer节点,执行klist -kt /etc/security/keytabs/hive.service.keytab获取

 然后把原来自带的Hive驱动包删除,添加文件把上面准备好的hive驱动依赖包添加进来即可。

测试链接成功:

然后正常使用即可;

注意事项

Dbeaver同时链接Hive和Phoenix时,比如先打开HIve连接,然后再打开Phoenix连接,会报错:

这个问题目前尚无法解决,只能关闭Dbeaver重新打开后只连Phoenix才可以。 

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值