SparkSubmit 启动spark任务脚本

本文详细介绍了一个具体的Spark程序部署案例,包括spark-submit的路径配置、jar包的本地目录设定及使用spark-submit提交spark程序的具体参数设置,如master选择、driver与executor资源分配等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#spark-submit路径
sparksubmits="/opt/cloudera/parcels/SPARK2/bin/spark2-submit"
#jar包所在本地目录
echo "begin running MarkLabelLogicDriver model"
#使用spark-submit提交spark程序
su root -c "$sparksubmits --class cn.com.trs.topic.news.MarkLabel.MarkLabelDriver \
--master yarn \
--driver-cores 1 \
--driver-memory 2g \
--deploy-mode cluster \
--executor-cores 1 \
--num-executors 16 \
--executor-memory 1g \
--name MarkLabeLogiclDriver \
/usr/java/checkpoint/markLabelLogic/SSE_ST2_ANALYSIS_SPARK_LABEL.jar \
XZ 4 20"

 

### Spark Submit 的工作流程和执行过程 #### 任务提交阶段 当通过 `spark-submit` 提交一个应用到集群上运行时,首先会解析命令行参数以及配置文件中的设置。这些参数指定了诸如主节点地址、使用的类路径以及其他必要的资源配置选项[^1]。 ```bash ./bin/spark-submit \ --master spark://207.184.161.138:7077 \ examples/src/main/python/pi.py \ 1000 ``` 此脚本向指定的 Master 节点发送请求来启动应用程序实例,并告知它要执行的具体程序位置及其入口方法或Python脚本名称等信息[^2]。 #### 驱动器初始化与调度 一旦接收到有效的作业提交请求后,Master 将负责创建一个新的 Driver 进程,在某些情况下可能会选择最合适的 Worker 来承载这个新的驱动器进程。这一步骤涉及到资源分配评估,即寻找具有足够可用内存和其他硬件条件满足需求的工作节点[^4]。 对于 YARN 或 Mesos 环境下的部署模式,则由相应的框架内部机制完成上述决策逻辑;而对于独立版 (Standalone),则是由内置算法决定最佳放置方案[^5]。 #### 应用程序执行期间的状态更新 随着 Driver 成功启动之后,便会开始加载用户定义好的业务逻辑代码——比如 Java 类或者 PySpark Script 文件,并按照既定计划分发计算任务给各个 Executor 执行单元处理数据集片段。与此同时,Driver 不断监控整个批处理进度并向客户端汇报最新状况直至全部结束为止[^3]。 ```python def main(): conf = SparkConf().setAppName("example") sc = SparkContext(conf=conf) # Your code here... if __name__ == "__main__": main() ``` 在整个过程中,日志记录功能可以帮助开发者追踪任何可能发生的错误消息或是性能瓶颈所在之处,从而便于后续优化改进措施实施。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值