解释了 Spark Client 和 Cluster 模式

让我们试着看看 Spark 的客户端和集群模式之间的区别。

客户端 :在客户端模式下运行 Spark 时,SparkContext 和 Driver 程序在集群外部运行; 例如,从你的笔记本电脑。本地模式仅适用于你不想使用群集而是希望在一台计算机上运行所有内容的情况。因此,驱动程序应用程序和 Spark 应用程序与用户位于同一台计算机上。驱动程序在专用进程内的专用服务器(主节点)上运行。这意味着它拥有可用于执行工作的所有可用资源。由于主节点具有自己的专用资源,因此你无需为驱动程序花费工作资源。如果驱动程序进程终止,则需要外部监视系统来重置它的执行。

集群: 驱动程序在集群的其中一个 Worker 节点上运行。它作为 Worker 内部的专用独立进程运行。在群集模式下工作时,与应用程序执行相关的所有 JAR 都需要向所有工作人员公开使用。这意味着你可以手动将它们放在共享位置或每个工作人员的文件夹中。每个应用程序都有自己的执行程序进程,这些进程在整个应用程序的持续时间内保持不变并在多个线程中运行任务。这样可以在调度方(每个驱动程序调度自己的任务)和执行方(在不同的 JVM 中运行的不同应用程序的任务)之间隔离应用程序。

群集管理器类型

Apache Mesos - 一个通用集群管理器,也可以运行 Hadoop MapReduce 和服务应用程序。Hadoop YARN - Hadoop 中的资源管理器。
Kubernetes-以容器为中心的 infrastructure.it 尚未实验。