使用Kerberos身份验证将Hive连接到dbvisualizer

时间:2018-02-07 16:43:59

标签: hadoop hive dbvisualizer

我正在使用Windows机器并尝试使用hive uber jar使用DbVisualizer设置配置单元。但是如下所示将错误记录下来。不知道为什么? https://github.com/timveil/hive-jdbc-uber-jar

我正在使用以下exe在Windows上生成keytab文件。 http://web.mit.edu/KERBEROS/dist/index.html

github页面上提到的所有步骤。

如果我使用用户主体,我收到以下错误。

  

DBC:hive2://aaa.corp.ad.abc:2181,bbbb.corp.ad.abc:2181,ccc.corp.ad.abc:2181 /; serviceDiscoveryMode =动物园管理员; zooKeeperNamespace = hiveserver2;主= gaurang.shah@CORP.AD.ABC

错误消息

Long Message:
Kerberos principal should have 3 parts: gaurang.shah@CORP.AD.CTC

Details:
   Type: java.lang.IllegalArgumentException

Stack Trace:
java.lang.IllegalArgumentException: Kerberos principal should have 3 parts: gaurang.shah@CORP.AD.CTC
   at org.apache.hive.service.auth.KerberosSaslHelper.getKerberosTransport(KerberosSaslHelper.java:48)
   at org.apache.hive.jdbc.HiveConnection.createBinaryTransport(HiveConnection.java:425)
   at org.apache.hive.jdbc.HiveConnection.openTransport(HiveConnection.java:202)
   at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:166)
   at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105)
   at sun.reflect.GeneratedMethodAccessor69.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at com.onseven.dbvis.g.B.D.ā(Z:1548)
   at com.onseven.dbvis.g.B.F$A.call(Z:1369)
   at java.util.concurrent.FutureTask.run(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

如果我使用下面提到的服务器主体,则错误是不同的。

  

DBC:hive2://aaa.corp.ad.abc:2181,bbbb.corp.ad.abc:2181,ccc.corp.ad.abc:2181 /; serviceDiscoveryMode =动物园管理员; zooKeeperNamespace = hiveserver2;主= krbgt/CORP.AD.ABC@CORP.AD.ABC

错误:

Long Message:
Could not open client transport for any of the Server URI's in ZooKeeper: GSS initiate failed

Details:
   Type: java.sql.SQLException
   SQL State: 08S01

1 个答案:

答案 0 :(得分:0)

Samson在评论中为我提供的答案。

使用prinicpal作为hive/_HOST@CORP.AD.ABC解决了这个问题。