通常我们将spark任务编写后打包成jar包,使用spark-submit进行提交,因为spark是分布式任务,如果运行机器上没有对应的依赖jar文件就会报ClassNotFound的错误。
一、缺少第三方jar参考: https://www.jianshu.com/p/2c7bcee7001a https://blog.csdn.net/luofazha2012/article/details/80954958
将所有的依赖打到jar中
1.1、Export—>Runable JAR fileexport --> jar file中的含义
Export generated class files and resources 表示只导出生成的.class文件和其他资源文件
* Export all output folders for checked projects 表示导出选中项目的所有文件夹
* Export java source file and resouces 表示导出的jar包中将包含你的源代码*.java,如果你不想泄漏源代码,那么就不要选这项了
* Export refactorings for checked projects 把一些重构的信息文件也包含进去
1.2、但是又出现问题, 无法找到自己的配置文件
ERROR ApplicationMaster: SparkContext did not initialize after waiting for 100000 ms. Please check earlier log output for errors. Failing the application.
https://stackoverflow.com/questions/42077264/yarn-cluster-mode-applicationmaster-sparkcontext-did-not-initialize-after-wai
1.5、加载外部配置文件