Datagrip如何访问集成Kerberos协议的Hive数据库
简介
-
背景说明
hive数据库默认不需要配置用户名密码,基于 Datagrip 可以直连,但是hive数据库在集成kerberos后,需要添加相关kerberos配置。
环境说明
-
客户端系统
win10
-
数据库版本
hive2.1.1 + cdh6.3.0
-
依赖jar版本
hive-jdbc-2.1.1-cdh6.3.2-standalone.jar
hadoop-auth-2.7.4.jar
hadoop-common-2.7.4.jar
commons-configuration-1.1.0.jar
kerberos秘钥
-
概述
principal 用户名
keyTab 秘钥文件
krb5.conf 配置
Datagrip配置
环境变量
-
URL(General -> Connection Type(URL only))
jdbc:hive2://127.0.0.1:10000/default;principal=hive/node1@EXAMPLE.COM
-
VM options(Data Sources -> Advanced -> VM options)
-Djava.security.auth.login.config=D:/Dev/Java/BigData/kerberos/hive.login
-Djava.security.krb5.realm=EXAMPLE.COM
-Djava.security.krb5.kdc=node1
-Djavax.security.auth.useSubjectCredsOnly=false
安全服务文件
-
hive.login
com.sun.security.jgss.initiate{ com.sun.security.auth.module.Krb5LoginModule required useKeyTab=true useTicketCache=false keyTab="D:/Dev/Java/BigData/kerberos/hive.keytab" principal="hive/dbnode1@EXAMPLE.COM" doNotPrompt=true debug=true debugNative=true; };
-
其他
client_protocol -> ThriftBinary