dolphinscheduler3.1.4提交spark任务--master参数源码解析

结论:部署方式为local时,master参数为local;否则master参数为yarm。

今天把在dolphinscheduler提spark任务配置通了,但是在实例任务的日志中,我发现spark任务的提交命令spark-submit--master参数总是yarm,而且任务配置页面也无该阐述的配置,遂,去分析源码去了。

一、首先,定位源码文件路径:dolphinscheduler-task-plugin\dolphinscheduler-task-spark\src\main\java
二、可以先扫一眼SparkConstants.java,里面是定义的一些配置常量,混个眼熟,方便后面分析。
在这里插入图片描述
三、定位SparkTask.java的populateSparkOptions函数,下面图片已批注一些关键信息
在这里插入图片描述
无外乎,两种情况嘛:
deployMode!="local"时,args列表里的值为 --master yarn --deploy-mode deployMode
deployMode=="local"时,args列表里的值为 --master local
后面其他的配置阐述就不详细说了,本文关注 --master 参数。
populateSparkOptions函数最后return args;
四、定位调用populateSparkOptions函数的地方,看args参数怎么融入spark-submit任务提交命令中的。
在这里插入图片描述
可以看到它用空格将args这个list对象里的元素连接起来了,为拼接成提交命令做准备。

猜你喜欢

转载自blog.csdn.net/keepandkeep/article/details/129882692
今日推荐