Java 什么是Kerberos方法?

Java 什么是Kerberos方法?,java,hadoop,jdbc,Java,Hadoop,Jdbc,我正在尝试用jdbc连接到hive。我一直在犯这个错误。我试着查找,但找不到任何有用的东西 这是我的连接字符串: jdbc:hive2://hostname.xxx.com:10000/default;主体=配置单元/hostname.xxx。com@HADOOP_ENV.COM 这是什么错误:java.lang.NoSuchMethodError:org.apache.hadoop.security.authentication.util.KerberosUtil.hasKerberosTic

我正在尝试用jdbc连接到hive。我一直在犯这个错误。我试着查找,但找不到任何有用的东西

这是我的连接字符串:
jdbc:hive2://hostname.xxx.com:10000/default;主体=配置单元/hostname.xxx。com@HADOOP_ENV.COM


这是什么错误:
java.lang.NoSuchMethodError:org.apache.hadoop.security.authentication.util.KerberosUtil.hasKerberosTicket(Ljavax/security/auth/Subject;)Z
Kerberos是配置单元服务器()


您设置的问题更多的是关于pom.xml中缺少的库。您是否包含了
hive jdbc

我认为您的keberos票证生成不正确

您是否可以尝试从尝试连接的用户处按顺序运行这两个命令:

  • kdestroy(删除以前生成的任何kerberos票证)
  • kinit(生成新的票证)

  • 然后再次尝试连接

    这种方法存在于Hadoop 2.8中,但不存在于Hadoop 2.7中——因此我猜测您的项目依赖项与生产中的Hadoop版本不一致

    主干中的代码

    分支-2.8.0中的代码

    分支-2.7.4中的代码

    谢谢。对我包括了所有的图书馆。是否有任何“检查列表”或是否有任何位置可以下载所有库。我(在我看来)把一切都包括进去了。我不知道我是否遗漏了任何东西我的2美分(法国巴黎银行CIB):当弹出
    NoSuchMethodError
    时,检查库中的版本不匹配(编译时与运行时)。尝试打印maven依赖关系树(使用mvn-X依赖关系:树)并查找版本冲突。来吧。。。这条消息不是关于身份验证错误,而是关于编译时看到的JAR和运行时看到的JAR之间的版本不匹配。