Spark中客户端和群集模式之间的区别

时间:2020-05-06 13:10:12

标签: apache-spark yarn

我正在尝试了解两种部署模式,Client and Cluster

看到了这个答案,还有更多https://stackoverflow.com/questions/37027732/apache-spark-differences-between-client-and-cluster-deploy-modes,但是没有清晰的视野。

想象一下,它是一个5节点集群,包括主节点。 Yarn是负责与所有工作程序节点进行交互并告诉所有工作程序节点使用多少资源的事物。让我们说它在主节点(IamYarn:100.com)的URL MasterNode.com上运行。

驱动程序,也称为初始化SparkContext + SparkConf,所有初始化后,最终结果是resource information which will be used by all worker nodesOperator graph,具有转换和操作的顺序。进一步的图被分为不同的阶段(每个阶段是一个RDD),每个阶段都作为Task Scheduler中的任务进行调度。因此,Driver程序的输出仅是我们的spark程序的所有指令的集合,并在Task Manager中进行调度。

然后,Spark使用yarn作为资源管理器,该资源管理器有助于在工作节点之间分配所有任务和数据。

我希望到目前为止我的知识是正确的。

ClientMode:驱动程序在专用进程内部的专用服务器(主节点)上运行,ClusterMode:驱动程序在群集的Worker节点之一上运行。为什么需要这两种类型的模式,驱动程序不能总是仅在主节点上运行吗?以及具体的差异原因?

0 个答案:

没有答案