hive连接报错-java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.security.UserGroupInformation

报错信息:无法初始化用户组

Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.security.UserGroupInformation
org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.security.UserGroupInformation

Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.security.UserGroupInformation

推测是缺少Hadoop的组件,org.apache.hadoop.security.UserGroupInformation 这部分是hive认证部分的代码,可能是因为没有这个jar包,导致认证时不能初始化用户组。

解决方法:

复制 org.apache.hadoop.security.UserGroupInformation 到idea中双击shift进行搜索,看这个方法属于哪个jar包下,然后就添加这个jar包的依赖到pom文件中。

<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-common</artifactId>
    <version>${hadoop.version}</version>
</dependency>

最后查到是这个依赖下的,版本使用的是cdh版,添加到pom文件中解决。


啥,你以为就这样就完了吗?我遇到的可是一大堆报错哦!

哦,不是啊!啥?你也遇到很多报错啊!来看看下面这个报错及解决汇总文章:

Hive连接+Kerberos认证各种报错及解决办法汇总

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐