zoukankan      html  css  js  c++  java
  • Illegal reflective access by org.apache.hadoop.security.authentication.util.KerberosUtil

    在使用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

     

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

  • 相关阅读:
    Understand 学习
    2021年1月
    查看所有请求
    DB2日期和时间函数汇总
    .getClass和.class
    继承和实现接口的区别
    java8 stream
    Lambda表达式详解
    SQL语句小知识---XML文件中的 CDATA语法
    Java--mapper.xml中常用SQL标签
  • 原文地址:https://www.cnblogs.com/shun7man/p/11902212.html
Copyright © 2011-2022 走看看