JDBC连接到支持Kerberos的Apache phoenix

JDBC连接到支持Kerberos的Apache phoenix,jdbc,kerberos,phoenix,Jdbc,Kerberos,Phoenix,我们有一个支持Kerberos的phoenix服务。我们还有一个数据虚拟化服务器(基于Tomcat),它也支持kerberos(Denodo服务器)。我们想让Denodo连接到Phoenix,以便Denodo用户可以从Phoenix获取数据。我们对需要使用的语法感到困惑。在JDBC个人客户端(DBeaver和Squirrel)中,我们可以使用以下语法并正确连接: jdbc:phoenix:myserver.mycompany.com:2181:/hbase-secure:user。name@MY

我们有一个支持Kerberos的phoenix服务。我们还有一个数据虚拟化服务器(基于Tomcat),它也支持kerberos(Denodo服务器)。我们想让Denodo连接到Phoenix,以便Denodo用户可以从Phoenix获取数据。我们对需要使用的语法感到困惑。在JDBC个人客户端(DBeaver和Squirrel)中,我们可以使用以下语法并正确连接:

jdbc:phoenix:myserver.mycompany.com:2181:/hbase-secure:user。name@MYCOMPANY.COM:/Users/user.name/krb5cc_user.name

现在,当我们尝试从Denodo服务器连接时,我们不能使用个人密钥表。因此,我们尝试使用这种格式:

jdbc:phoenix:myserver.mycompany.com:2181:/hbase-secure:HTTP/myserver.mycompany。com@MYCOMPANY.COM:/etc/security/keytab/myservice.keytab

这不起作用,我们得到以下错误:

错误103(08004):无法建立连接。 HTTP/myserver.mycompany登录失败。com@MYCOMPANY.COM来自keytab/etc/security/keytab/myservice.keytab:javax.security.auth.login.login异常:无法从用户处获取密码

在做了大量的谷歌搜索之后,我们尝试了该原则的不同迭代,以

糖化血红蛋白/hdpopst@MYCOMPANY.COM


总是以同样的错误结束。所以,我有两个问题:菲尼克斯有关于这个问题的官方文件吗?我们还没有找到它。这是通过JDBC连接这两个服务的正确语法吗?

首先,您是否在Dendo服务的上下文中测试了principal/keytab组合,例如,
sudo-u which\u linux\u user\u运行\u Denodo\u服务kinit-kt/etc/security/keytab/myservice.keytab HTTP/myserver.mycompany。com@MYCOMPANY.COM
If
kinit
工作(使用OS Kerberos库),使用
-Dsun.security.krb5.debug=true-Djava.security.debug=gssloginconconfig、configfile、configparser、logincontext在Denodo中启用Java Kerberos库调试标志(然后找出Denodo将其控制台StdOut/StdErr流存储在何处…并准备好体验奇怪的体验)