码迷,mamicode.com
首页 > 数据库 > 详细

Illegal reflective access by org.apache.hadoop.security.authentication.util.KerberosUtil

时间:2019-11-21 09:26:13      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:instance   登陆   时间   ros   acl   性问题   使用   eth   cti   

在使用Java API操作HBase时抛出如下异常:

Illegal reflective access by org.apache.hadoop.security.authentication.util.KerberosUtil (file:/C:/Users/RYJ/.m2/repository/org/apache/hadoop/hadoop-auth/2.6.5/hadoop-auth-2.6.5.jar) to method sun.security.krb5.Config.getInstance()

技术图片

这个异常足足困了我一天,刚开始怀疑是代码问题,最终发现是版本不匹配导致的。

首先我们搭建HBase一定要考虑兼容性问题,即哪个版本的HBase可以和什么版本的JDK匹配,以及可以和什么版本的Hadoop匹配。 我上一篇博客还总结了呢,搭建的时候就忽略了,这也就是学了不知道怎么用吧!汗!  以后实践的时候一定要学会联系学的东西,这样才会避免走很多弯路,不然有数不尽的坑,你就栽吧,时间不允许你这么做的。好了,接下来说解决方案。

解决方法:以前用的JDK8 ,发现不匹配,然后降级为JDK7 就好了。

具体降级步骤:

1.首先登陆JAVA官网下载JDK7到本地

  》》打开https://www.oracle.com/technetwork/java/javase/documentation/index.html

   技术图片

 》》可以看到有如下版本

技术图片

  》》下载好后,右键项目->Build Path->Configure Build Path... 弹出如下内容,依次按照顺序点击

技术图片

 》》Next

 技术图片

  》》点击应用即可,然后重新运行,就发现错误终于消失了。。。

技术图片

Illegal reflective access by org.apache.hadoop.security.authentication.util.KerberosUtil

标签:instance   登陆   时间   ros   acl   性问题   使用   eth   cti   

原文地址:https://www.cnblogs.com/shun7man/p/11902212.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!