Spark ClassNotFoundException $$anonfun$2
Posted fansy1990
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark ClassNotFoundException $$anonfun$2相关的知识,希望对你有一定的参考价值。
Spark ClassNotFoundException $$anonfun$2
1. 软件环境:
软件 | 版本 |
---|---|
Spark | 原生1.6.0 |
Hadoop | 原生2.6.5 |
2. 应用场景&问题描述
使用Java Web提交任务到Spark Standalone集群中运行任务,运行任务的过程中,指定主类,比如a.b.c.Test, 那么主类是可以被调用的。比如已经运行到a.b.c.Test中的代码,但是接着会报诸如:ClassNotFound : a.b.c.Test$$anonfun$1这样的异常,如下所示:
而通过把a.b.c.Test所在的jar包解压,可以看到其中是有诸如a.b.c.Test$$anonfun$1.class 这样的文件的。通过反编译软件可以看到这个类是a.b.c.Test中的一个函数,这样就很奇诡了。主类Test找得到,但是和其同一个文件的函数的类反而找不到。
3. 解决办法
由于是报类找不到,而且定位是在Executor执行的时候,所以,尝试把jar包加入executor的Classpath中,在代码中添加:
sparkConf.set("spark.executor.extraClassPath","path/to/a.b.c.Test/.jar");
而且,其实已经设置了spark.jars:
sparkConf.set("spark.jars","hdfs://path/to/a.b.c.Test/.jar")
- 分享,成长,快乐
- 脚踏实地,专注
- 转载请注明blog地址:http://blog.csdn.net/fansy1990


以上是关于Spark ClassNotFoundException $$anonfun$2的主要内容,如果未能解决你的问题,请参考以下文章