结论:部署方式为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对象里的元素连接起来了,为拼接成提交命令做准备。
383



被折叠的 条评论
为什么被折叠?



