spark节点通信模型_ing

先定义4个节点:master worker executor driver, 通信链路如下图所示

worker与master创建了通信的路径1,

driver分别创建了与master和executor通信的endpoint,此为路径2和3

 

 

------------------------ 

路径1的具体执行类为 两个实现了RpcEndpoint接口的Master 和 Worker (具体是IsolatedRpcEndpoint)

------------------------

路径2的dirver端:接口 CoarseGrainedSchedulerBackend 负责与master通信,如果是standalone模式,CoarseGrainedSchedulerBackend的具体实现是 StandaloneschedulerBackend,

但是CoarseGrainedSchedulerBackend并不具备通信功能,它不是RpcEndpoint的实现类

所以StandaloneschedulerBackend内部实现了一个StandaloneAppClient实例, StandaloneAppClient通过内部类ClientEndPoint 与master通信。ClientEndPoint 是RpcEndpoint的实现类所以能用来通信

由此可见CoarseGrainedSchedulerBackend的功能并不单单用来通信,还有其他作用。

------------------------

路径3的实现为DriverEndPoint 和 CoarseGrainedExecutorBackend,都是RpcEndpoint的实现类。

 

相关文章

1.SparkStreaming是什么?SparkStreaming是SparkCore的扩展A...
本篇内容介绍了“Spark通讯录相似度计算怎么实现”的有关知识...
本篇文章给大家分享的是有关如何进行Spark数据分析,小编觉得...
本篇内容主要讲解“Spark Shuffle和Hadoop Shuffle有哪些区别...
这篇文章主要介绍“TSDB的数据怎么利用Hadoop/spark集群做数...
本篇内容介绍了“Hadoop与Spark性能原理是什么”的有关知识,...