【大数据学习 | Spark-Core】Spark提交及运行流程

spark的集群运行结构

我们要选择第一种使用方式

命令组成结构 spark-submit [选项] jar包 参数

standalone集群能够使用的选项。

bash 复制代码
--master MASTER_URL #集群地址
--class class_name #jar包中的类
--executor-memory MEM #executor的内存
--executor-cores NUM # executor的核数
--total-executor-cores NUM # 总核数

用spark-submit提交spark应用程序。

bash 复制代码
spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://nn1.hadoop:7077 \
--executor-memory 1G \
--total-executor-cores 2 \
/usr/local/spark/examples/jars/spark-examples_2.12-3.1.2.jar \
100

参考:

集群参数配置

bash 复制代码
--master MASTER_URL #集群地址
--class class_name #jar包中的类
--executor-memory MEM #executor的内存
--executor-cores NUM # executor的核数
--total-executor-cores NUM # 总核数

spark webUI

Driver: 运行 Application 的 main() 函数的节点,提交任务,并下发计算任务;

**Cluster Manager:**在standalone模式中即为Master主节点,负责整个集群节点管理以及资源调度;在YARN模式中为资源管理器;

**Worker节点:**上报自己节点的资源情况,启动 和 管理 Executor;

**Executor:**执行器,是为某个Application运行在worker节点上的一个进程;负责执行task任务(线程);

**Task:**被送到某个Executor上的工作单元,跟MR中的MapTask和ReduceTask概念一样,是运行Application的基本单位。

运行大概流程:

1)driver 端提交应用,并向master申请资源;

2)Master节点通过RPC和Worker节点通信,根据资源情况在相应的worker节点启动Executor 进程;并将资源参数和Driver端的位置传递过来;

3)启动的Executor 进程 会主动与 Driver端通信,Driver 端根据代码的执行情况,产生多个task,发送给Executor;

4)Executor 启动 task 做真正的计算,每个Task 得到资源参数后,对相应的输入分片数据执行计算逻辑;

相关推荐
Jabes.yang12 小时前
Java面试场景:从Spring Web到Kafka的音视频应用挑战
大数据·spring boot·kafka·spring security·java面试·spring webflux
诸葛悠闲13 小时前
XCP协议在以太网上实现的配置
学习
Hello.Reader13 小时前
Flink 第三方序列化Kryo 注册、Protobuf/Thrift 接入与坑位避雷
大数据·flink
斯普信专业组13 小时前
使用Reindex迁移Elasticsearch集群数据详解(下)
大数据·elasticsearch
遇印记14 小时前
大二java学习笔记:二维数组
java·笔记·学习
阿里云大数据AI技术14 小时前
云栖实录|MaxCompute全新升级:AI时代的原生数据仓库
大数据·数据库·云原生
爱吃甜品的糯米团子14 小时前
Linux 学习笔记之进程管理、网络基础与常用软件安装
linux·网络·学习
Purple Coder16 小时前
面试-上海电力大学研一的学习经验
学习
QYResearch16 小时前
导航浮标灯市场现状及前景分析
大数据
QYResearch16 小时前
2025年全球半导体用电子湿化学品行业总体规模、主要企业国内外市场占有率及排名
大数据