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

文章讲述了在DolphinScheduler中配置Spark任务时遇到的问题,即--master参数始终为YARM。作者通过分析源码发现,在deployMode不等于local时,master参数设为yarm,否则设为local。问题出现在populateSparkOptions函数,该函数构造了spark-submit命令的参数。最后,作者指出args列表中的元素会被用于构建最终的提交命令。

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值