Java 使用keytab文件连接到Impala的jdbc URL
我正在尝试使用Java 使用keytab文件连接到Impala的jdbc URL,java,hibernate,jdbc,cloudera,impala,Java,Hibernate,Jdbc,Cloudera,Impala,我正在尝试使用keytab文件连接到Impala,但没有找到与keytab连接的确切URL。我已经看过了,但它没有提到使用带有主体的keytab文件连接到Impala。使用keytab文件连接到Impala的JDBC URL是什么?如“使用Kerberos”一节所述,Impala JDBC驱动程序支持三种获取Kerberos主题的方法: …驱动程序尝试从当前线程继承的AccessControlContext获取主题。如果AccessControlContext包含 多个主题,驱动程序使用最新的主
keytab
文件连接到Impala
,但没有找到与keytab连接的确切URL。我已经看过了,但它没有提到使用带有主体的keytab文件连接到Impala。使用keytab文件连接到Impala的JDBC URL是什么?如“使用Kerberos”一节所述,Impala JDBC驱动程序支持三种获取Kerberos主题的方法:
java.security.auth.login.config
JAAS配置。如果使用JAAS配置
指定时,驱动程序将使用该信息创建LoginContext
然后使用与其关联的主题KrbAuthType
参数来控制驱动程序将使用哪个方法,否则它将逐个尝试每个方法
因此,使用keytab文件(方法2)所要做的就是
jaas.conf
文件,指定键表位置、主体等java.security.auth.login.config
(或使用
JVM启动参数-Djava.security.auth.login.config=
),指向该jaas.conf
的位置,以及…AuthMech=1代码>
KrbRealm=;KrbHostFQDN=your.impalad.host.com;Kerberos身份验证的KrbServiceName=
或者,
kinit
在调用Java应用程序之前,使用您的keytab使票证缓存包含必要的TGT(基本上,使用上面的方法3)。我现在可以使用独立类连接到Impala。但我们确实使用hibernate配置文件创建了动态数据源。有没有办法在hibernate配置文件中指定系统属性?不是hybernate专家,所以无法回答这个问题。但我相信选项3对您来说可能是一个更好的选择——只需定义KRB5_CONFIG
和KRB5CCNAME
env。变量,kinit-k-t
,您不需要设置任何系统属性。