首页 > 解决方案 > 在 Windows 中的 weblogic 平台上,Hive 与 Kerberized Hadoop 集群的连接失败

问题描述

当我尝试连接到在 kerberized Hadoop 集群上运行的 Impala 时,我在 Windows weblogic 服务器上遇到问题。

我在本地机器上的独立java代码中尝试了一小段代码的连接并成功连接。

    try {
        Class.forName("org.apache.hive.jdbc.HiveDriver");

        System.setProperty("java.security.auth.login.config", "D:\\hadoop\\security\\gss-jaas.conf");
        System.setProperty("sun.security.jgss.debug", "true");
        System.setProperty("javax.security.auth.useSubjectCredsOnly", "false");
        System.setProperty("java.security.krb5.conf", "D:\\hadoop\\security\\krb5.conf");


        String connUrl = "jdbc:hive2://***.***.**.***:21050/;principal=impala/host@REALM";

        connection = DriverManager.getConnection(connUrl);

    } catch (Exception e) {
        System.out.println("Impala Connection Error" + e.getMessage());
    }

当我在-Djava.security.auth.login.config=/home/appuser/security/gss-jaas.conf 之startWeblogic.sh类的文件中进行配置时,Linux weblogic 服务器上的连接也成功了

但是,当我在我的 Web 应用程序中尝试此代码并在我的 Windows 笔记本电脑的 weblogic 上部署时,我得到了

Caused by: org.apache.thrift.transport.TTransportException: GSS initiate failed
at org.apache.thrift.transport.TSaslTransport.sendAndThrowMessage(TSaslTransport.java:232)
at org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:316)
at org.apache.thrift.transport.TSaslClientTransport.open(TSaslClientTransport.java:37)
at org.apache.hadoop.hive.thrift.client.TUGIAssumingTransport$1.run(TUGIAssumingTransport.java:52)
at org.apache.hadoop.hive.thrift.client.TUGIAssumingTransport$1.run(TUGIAssumingTransport.java:49)

krb5.conf我还将,gss-jaas.conf和 keytab 文件的路径添加到startWeblogic.sh但没有任何变化。

我可以从我的本地机器远程登录到 hadoop 服务器的 88、21050 和 22 端口。

windows weblogic有什么不同,谁能帮我解决这个问题?

标签: windowshadoopweblogickerberosimpala

解决方案


推荐阅读