一、问题描述
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.hadoop.security.authentication.util.KerberosUtil.hasKerberosTicket(Ljavax/security/auth/Subject;)Z
at org.apache.hadoop.security.UserGroupInformation.<init>(UserGroupInformation.java:652)
at org.apache.hadoop.security.UserGroupInformation.loginUserFromSubject(UserGroupInformation.java:843)
at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:802)
at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:675)
at org.apache.hadoop.hbase.security.User$SecureHadoopUser.<init>(User.java:286)
at org.apache.hadoop.hbase.security.User$SecureHadoopUser.<init>(User.java:282)
at org.apache.hadoop.hbase.security.User.getCurrent(User.java:185)
at org.apache.hadoop.hbase.security.UserProvider.getCurrent(UserProvider.java:88)
at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:215)
at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:119)
二、问题原因:
缺少一个jar依赖包
三、解决方案:
添加hadoop-common的jar依赖包
<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-common -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.9.2</version>
</dependency>