yarn-cluster模式打包,提交问题

通常我们将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 file

yarn-cluster模式打包,提交问题_第1张图片

export --> 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、但是又出现问题, 无法找到自己的配置文件

yarn-cluster模式打包,提交问题_第2张图片

1.3、打开jar包, 发现global.properties在根目录, 不是conf/global.properties

解决: 重构读取配置文件代码, 能够从根目录开始查找配置我呢见

1.4、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、加载外部配置文件

你可能感兴趣的:(#,spark)