Kerberos下Dbeaver连接Hive

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

认证文件准备

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

Kerberos下Dbeaver连接Hive_第1张图片

注:使用其他平台如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需要如下驱动包:

Kerberos下Dbeaver连接Hive_第2张图片

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

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

修改驱动配置

1. 创建Hive连接

Kerberos下Dbeaver连接Hive_第3张图片

 2. 编辑驱动设置

新建Hive链接会默认使用非kerberos的jdbc链接串,需要编辑驱动添加hiveServer端的principal信息:
Kerberos下Dbeaver连接Hive_第4张图片

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

;principal=hive/[email protected]

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

Kerberos下Dbeaver连接Hive_第6张图片

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

测试链接成功:

Kerberos下Dbeaver连接Hive_第7张图片

然后正常使用即可;

Kerberos下Dbeaver连接Hive_第8张图片

注意事项

Dbeaver同时链接Hive和Phoenix时,比如先打开HIve连接,然后再打开Phoenix连接,会报错:
Kerberos下Dbeaver连接Hive_第9张图片

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

你可能感兴趣的:(大数据,hive,big,data)