当我试图连接到运行在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());
}
当我在中进行配置时,在LinuxWeblogic服务器上的连接也成功了 startWeblogic.sh
类似-djava.security.auth.login.config=/home/appuser/security/gss-jaas.conf的文件
但是,当我在我的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端口进行telnet连接。
WindowsWebLogic有什么不同,有人能帮我吗?
暂无答案!
目前还没有任何答案,快来回答吧!