首页 > 解决方案 > 是否需要在集群的所有节点上安装spark

问题描述

我是 Spark 和学习架构的新手。我了解到 spark 支持 YARN、Standalone 和 Mesos 等 3 个集群管理器。

在 yarn 集群模式下,Spark driver 驻留在资源管理器中,而执行器驻留在 yarn 的 Containers of Node manager 中。

在独立集群模式下,Spark 驱动程序驻留在主进程中,执行者驻留在从进程中。

如果我的理解是正确的,那么是否需要在 Yarn 集群的所有节点管理器,独立集群的从节点上安装 spark

标签: apache-sparkhadoop-yarn

解决方案


如果您在具有多个节点的集群上使用 yarn 作为管理器,则无需在每个节点上安装 spark。提交作业时,Yarn 会将 spark 二进制文件分发到节点。

https://spark.apache.org/docs/latest/running-on-yarn.html

在 YARN 上运行 Spark 需要使用 YARN 支持构建的 Spark 二进制分发。二进制发行版可以从项目网站的下载页面下载。要自己构建 Spark,请参阅构建 Spark。

要使 Spark 运行时 jar 可以从 YARN 端访问,您可以指定 spark.yarn.archive 或 spark.yarn.jars。有关详细信息,请参阅 Spark 属性。如果既没有指定 spark.yarn.archive 也没有指定 spark.yarn.jars,Spark 将创建一个包含 $SPARK_HOME/jars 下所有 jar 的 zip 文件,并将其上传到分布式缓存。


推荐阅读