windows - 在 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有什么不同,谁能帮我解决这个问题?