如果我没有其他集群软件,是否值得在 YARN 上部署 Spark?

Is it worth deploying Spark on YARN if I have no other cluster software?

我有一个独立模式下的 Spark 集群 运行。我目前正在使用调用 pyspark 的 Jupyter notebook 执行代码。假设机器没有做任何其他事情,使用 YARN 作为集群管理器有好处吗?

使用 YARN 可以获得更好的性能吗?如果是,为什么?

非常感谢,

约翰

考虑到这些要点,我会说是。

为什么在 YARN 上 运行?

使用 YARN 作为 Spark 的集群管理器比独立的 Spark 有一些好处:

  1. 您可以利用 YARN 调度程序的所有 功能来分类、隔离和确定工作负载的优先级
  2. 任何 Spark 独立模式还需要从属 activity 的工作者,它不能 运行 非 Spark 应用程序,与 YARN 一样,它在容器中是隔离的,因此应该采用另一个计算框架是代码更改而不是 infra + 代码。所以集群可以在不同的框架之间共享。
  3. YARN 是唯一支持安全性的 Spark 集群管理器。和 YARN、Spark 可以 运行 针对 Kerberized Hadoop 集群并使用 进程之间的安全身份验证。
  4. YARN 允许您动态共享和集中配置相同的 YARN 上 运行 所有框架之间的集群资源池。 您可以将整个集群投入 MapReduce 作业,然后使用一些 它在 Impala 查询上,其余的在 Spark 应用程序上,没有 配置的任何更改。

我会说 1,2 和 3 适用于提到的场景,但不适用于第 4 点,因为我们假设没有其他框架将使用集群。

souce