我试图用jdbc连接到hive。我一直收到这个错误。我尝试查找它但不能隐藏任何有用的东西。
这是我的连接字符串:
jdbc:hive2://hostname.xxx.com:10000/default;principal=hive/hostname.xxx.com@HADOOP_ENV.COM
这是什么错误:java.lang.NoSuchMethodError: org.apache.hadoop.security.authentication.util.KerberosUtil.hasKerberosTicket(Ljavax/security/auth/Subject;)Z
答案 0 :(得分:5)
该方法存在于Hadoop 2.8中但不存在于Hadoop 2.7中 - 所以我的猜测是你的项目依赖性与生产中的任何Hadoop版本不一致。
<{1}}中的 <{1}}中的答案 1 :(得分:2)
Kerberos是Hive服务器(https://en.wikipedia.org/wiki/Kerberos_(protocol))
使用的身份验证协议您要设置的问题更多是关于我们的pom.xml中缺少的库。你有<artifactId>hive-jdbc</artifactId>
吗?
答案 2 :(得分:0)
我认为您的keberos票证未正确生成
您可以尝试从您尝试连接的用户按顺序运行这两个命令:
然后尝试再次连接。