【大数据学习 | 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 得到资源参数后,对相应的输入分片数据执行计算逻辑;

相关推荐
不在逃避q39 分钟前
一步一步学习使用LiveBindings()TListView进阶使用(),打造天气预报程序
服务器·数据库·学习
云草桑1 小时前
Odoo 出海供应链管理:库存管理与全球化运营实战
大数据·odoo·erp·跨境
知识分享小能手1 小时前
高等数学学习教程,从入门到精通,微分中值定理与导数的应用(5)
学习·机器学习·概率论
520拼好饭被践踏1 小时前
JAVA+Agent学习day25
java·开发语言·学习
海纳百川·纳海川1 小时前
租房行业数字化:换个思路解决“老问题”
大数据·微信小程序·小程序
zandy10112 小时前
2026年,AI Agent搜索Skill推荐已经离不开底层架构
大数据·人工智能·架构
魔术师Dix2 小时前
StartGame:Unity TDD 外部工程指南
学习·游戏·unity·c#·测试驱动开发
小弥儿2 小时前
GitHub今日热榜 | 2026-07-31:AI Agent工作流共享赛道升温
人工智能·学习·github
小蒋学算法11 小时前
算法-M个非重叠子数组最大和II-WQS二分学习
数据结构·学习·算法
重庆小透明14 小时前
带你从不同视角了解三大MQ
java·学习·spring·kafka·rabbitmq·rocketmq