zoukankan      html  css  js  c++  java
  • java.lang.IllegalAccessError: tried to access method com.google.common.base.Stopwatch.<init>()V from 解决

      在用spark的yarn-cluster模式跑fpgrowth进行频繁项集挖掘的时候,报如下错误:

         

    ERROR yarn.ApplicationMaster: User class threw exception: java.lang.IllegalAccessError: tried to access method com.google.common.base.Stopwatch.<init>()V from class org.apache.hadoop.mapred.FileInputFormat
    java.lang.IllegalAccessError: tried to access method com.google.common.base.Stopwatch.<init>()V from class org.apache.hadoop.mapred.FileInputFormat
    	at org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:312)
    	at org.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:199)
    	at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:248)
    	at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:246)

    问题解决过程:

             1、进行lib目录,发现有多个guava版本
             2、修改pom,删除guava依赖,运行,还是报错

              3、pom中spark相关jar包都是使用的provide模式,怎么会报错了,纳闷。
              4、看下集群中hadoop使用的是hadoop-2.6.0-cdh5.7.0,跟进去代码,FileInputFormat中的Stopwatch已经进行了封装,没有使用guava了,这是怎么个情况?
              5、最后最后。。。。

                  spark的配置文件里面有这个配置项

               spark.yarn.jars      hdfs://xxxxxx/spark/share/jars/*.jar

           进入hdfs目录一看,果然里面有相关的hadoop  jar包,删掉这些jar包,在试,ok了。

     

    http://www.cnblogs.com/ylcoder/
  • 相关阅读:
    DeepIn系统使用和相关软件安装
    在JDK11中生成JRE11的方法
    IIS 7 中设置文件上传大小的方法
    在服务器上发布MVC5的应用
    安装了多个Oracle11g的客户端,哪个客户端的tnsnames.ora会起作用?
    配置putty或SecureCRT防止SSH连接中断
    借助FRP反向代理实现内网穿透
    你不知道的hostname命令
    Perl脚本通过Expect登陆多台设备批量执行命令并Log
    Linux内核参数配置
  • 原文地址:https://www.cnblogs.com/ylcoder/p/6285041.html
Copyright © 2011-2022 走看看