Spark ClassNotFoundException $$anonfun$2

1. 软件环境:

软件 版本
Spark 原生1.6.0
Hadoop 原生2.6.5

2. 应用场景&问题描述

运行任务的过程中,指定主类,比如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")

随机推荐

  1. 关于丢失或者损坏/etc/fstab文件后的一些探讨

    1.模仿,假设不小心删除了/etc/fstab文件:大家都知道,Linux系统启动的时候会读取该文件来挂载分区,如果缺失该文件,系统一般不能正常启动. 2.采用reboot命令或者alt+ctrl+d ...

  2. Android设计和开发系列第二篇:Navigation Drawer(Design)

    Navigation Drawer Creating a Navigation Drawer The navigation drawer is a panel that transitions in ...

  3. DELPHIER,正转向PYTHON了

    用了10多年的DELPHI ,现在准备学PYTHON了, 理由是: 1)现在是云计算时代了,需要学习一门适应该时代的语言,研究了很久,PYTHON是最佳选择,排除了PHP,PERL,RUBY等,至于G ...

  4. Qt编写数据库通用翻页demo(开源)

    在Qt与数据库结合编程的过程中,记录一多,基本上都需要用到翻页查看记录,翻页有个好处就是可以减轻显示数据的表格的压力,不需要一次性将数据库表的记录全部显示,也基本上没有谁在一页上需要一次性显示所有记录 ...

  5. sencha touch list更新单行数据

    http://www.cnblogs.com/mlzs/p/3317570.html 如此章所说,点击按钮需要实时更新视图 操作代码如下: onTasteUp: function (list, rec ...

  6. MacOS 安装 nginx

    brew install nginx 开机启动 $ sudo cp `brew --prefix nginx`/homebrew.mxcl.nginx.plist /Library/LaunchDae ...

  7. 解决启动Distributed Transaction Coordinator服务出错的问题

    解决启动Distributed Transaction Coordinator服务出错的问题   "Windows 不能在 本地计算机 启动 Distributed Transaction ...

  8. android极光杀掉程序收不到通知

    http://docs.jpush.io/guideline/faq/#android 第三方系统收不到推送的消息 由于第三方 ROM 的管理软件需要用户手动操作 小米[MIUI] 自启动管理:需要把 ...

  9. Django之ContentType详解

    contenttypes 是Django内置的一个应用,可以追踪项目中所有app和model的对应关系,并记录在ContentType表中. models.py文件的表结构写好后,通过makemigr ...

  10. 经典 mysql 28道题

    1.登陆MySQL数据库. mysql -uroot -pdadong123 2.查看当前登录的用户. select user(); select user from mysql.user; 3.创建 ...