如果我没有其他集群软件,是否值得在 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 有一些好处:
- 您可以利用 YARN 调度程序的所有 功能来分类、隔离和确定工作负载的优先级。
- 任何 Spark 独立模式还需要从属 activity 的工作者,它不能 运行 非 Spark 应用程序,与 YARN 一样,它在容器中是隔离的,因此应该采用另一个计算框架是代码更改而不是 infra + 代码。所以集群可以在不同的框架之间共享。
- YARN 是唯一支持安全性的 Spark 集群管理器。和
YARN、Spark 可以 运行 针对 Kerberized Hadoop 集群并使用
进程之间的安全身份验证。
- YARN 允许您动态共享和集中配置相同的
YARN 上 运行 所有框架之间的集群资源池。
您可以将整个集群投入 MapReduce 作业,然后使用一些
它在 Impala 查询上,其余的在 Spark 应用程序上,没有
配置的任何更改。
我会说 1,2 和 3 适用于提到的场景,但不适用于第 4 点,因为我们假设没有其他框架将使用集群。
我有一个独立模式下的 Spark 集群 运行。我目前正在使用调用 pyspark 的 Jupyter notebook 执行代码。假设机器没有做任何其他事情,使用 YARN 作为集群管理器有好处吗?
使用 YARN 可以获得更好的性能吗?如果是,为什么?
非常感谢,
约翰
考虑到这些要点,我会说是。
为什么在 YARN 上 运行?
使用 YARN 作为 Spark 的集群管理器比独立的 Spark 有一些好处:
- 您可以利用 YARN 调度程序的所有 功能来分类、隔离和确定工作负载的优先级。
- 任何 Spark 独立模式还需要从属 activity 的工作者,它不能 运行 非 Spark 应用程序,与 YARN 一样,它在容器中是隔离的,因此应该采用另一个计算框架是代码更改而不是 infra + 代码。所以集群可以在不同的框架之间共享。
- YARN 是唯一支持安全性的 Spark 集群管理器。和 YARN、Spark 可以 运行 针对 Kerberized Hadoop 集群并使用 进程之间的安全身份验证。
- YARN 允许您动态共享和集中配置相同的 YARN 上 运行 所有框架之间的集群资源池。 您可以将整个集群投入 MapReduce 作业,然后使用一些 它在 Impala 查询上,其余的在 Spark 应用程序上,没有 配置的任何更改。
我会说 1,2 和 3 适用于提到的场景,但不适用于第 4 点,因为我们假设没有其他框架将使用集群。