我是Spark的新手,正在学习架构。我知道 Spark 支持 3 个集群管理器,例如 YARN、独立和 Mesos。
在 yarn 群集模式下,Spark 驱动程序驻留在资源管理器中,执行程序驻留在 yarn 节点管理器的容器中。
在独立群集模式下,Spark 驱动程序驻留在主进程中,执行程序驻留在从进程中。
如果我的理解是正确的,那么是否需要在 Yarn 集群的所有节点管理器、独立集群的从属节点上安装 spark
如果在具有多个节点的集群上使用 yarn 作为管理器,则无需在每个节点上安装 spark。提交作业时,Yarn 会将火花二进制文件分发到节点。
https://spark.apache.org/docs/latest/running-on-yarn.html
在 YARN 上运行 Spark 需要 Spark 的二进制发行版,该发行版是在 YARN 支持下构建的。二进制发行版可以从项目网站的下载页面下载。要自己构建 Spark,请参阅构建 Spark。
要使 Spark 运行时 jar 可从 YARN 端访问,您可以指定 spark.yarn.archive 或 spark.yarn.jars。有关详细信息,请参阅 Spark 属性。如果既未指定 spark.yarn.archive 也未指定 spark.yarn.jars,Spark 将创建一个包含 $SPARK_HOME/jars 下所有 jar 的 zip 文件,并将其上传到分布式缓存。