spark on yarn的运行流程及kafka运行流程
2022-04-01 19:26:15 8 举报
个人总结spark流程
作者其他创作
大纲/内容
SchedulerQueue
返回状态
Task
Leader
DAGScheduler
Tasksetmanagener
NodeManager
Task副本
Action
Taskset
p3
TaskScheduler 初始化后会启动SchedulerBackend,它负责跟外界打交道,接收 Executor 的注册信息,并维护 Executor 的状态
Executor
Consumer group
Driver
Consumer B
FAIR
Kafka Cluster
p2
Pool2
RDD
Producer A
Pool3
Stage
累加器 用来把 Executor 端变量信息聚合到 Driver 端。在 Driver 程序中定义的变量,在Executor 端的每个 Task 都会得到这个变量的一份新的副本,每个 task 更新这些副本的值后,传回 Driver 端进行 merge。
SchedulerBackend
Yarn
ArrayBuffer
ReplicationA/0
Broker 1
ExecutorBackend
Consumer A
Cache
Follower
Job
Pool1
Zookeeper
Driver(main)
TaskSet
Topic APartition 1
ResourceManager(spark-Master)
SparkContext
message 1
p1
* Stage封装成TasksetManager* 通过FAIR/FIFO排序* 放入RootPool池中
Producer B
Consumer C
Starndalone(Spark自身集群)
ReplicationA/1
Topic APartition 0
Broker 3
ApplicationMaster
ResultStage
通信
注册消息
累加器(只写)
TaskScheduler
NodeManager(spark-Worker调度节点)
NodeManager (计算节点)
message 0
消费者消费消息
Spark在yarn集群上的任务计算
FIFO
Kafka集群管理消息
Partition 0
Merge
RootPool
NodeManager (计算节点)
ShuffleMapStage
Broker 2
Kafka写入流程
0 条评论
下一页