2017-08-02 54 views
1

我試圖用jdbc連接到配置單元。我不斷收到這個錯誤。我試圖查找它,但不能後面的東西有用。什麼是Kerberos方法?

這是我的連接字符串: jdbc:hive2://hostname.xxx.com:10000/default;principal=hive/[email protected]_ENV.COM

這是什麼錯誤:java.lang.NoSuchMethodError: org.apache.hadoop.security.authentication.util.KerberosUtil.hasKerberosTicket(Ljavax/security/auth/Subject;)Z

回答

3
1

Kerberos是使用蜂巢服務器的身份驗證協議(https://en.wikipedia.org/wiki/Kerberos_(protocol)

要設置的問題是更多關於我們的pom.xml中缺少的庫。你有沒有包括<artifactId>hive-jdbc</artifactId>

+0

謝謝。是。我包括所有圖書館。有沒有「檢查清單」,或者是否有我可以下載所有圖書館的地點?我包括了一切(在我看來)。我不知道我是否缺少任何東西 – john

+0

我的2美分_(de la part de BNP Paribas CIB)_:當'NoSuchMethodError'彈出時,檢查庫中的版本不匹配(編譯時間與運行時間)時間)。 –

+0

嘗試打印maven依賴關係樹(使用mvn -X dependency:tree)並查找版本衝突。 – jeanr

1

我想是不是正確生成您的keberos票

可以嘗試在爲了從你正在試圖連接的用戶運行這兩個命令:

  1. kdestroy(刪除之前產生的任何Kerberos票據)
  2. 的kinit(生成一張新票)

然後嘗試重新連接。

+1

來吧......消息不是關於認證錯誤,而是關於編譯時看到的JAR和運行時看到的JAR之間的版本不匹配。 –