报告平台应该选择 yarn-cluster 还是 yarn-client?

What to choose yarn-cluster or yarn-client for a reporting platform?

我打算做的是使用现有数据开发一个报告平台。我有一个包含大量记录的现有 RDBMS。所以我在用。 ()

鉴于我已经阅读了以下内容

我应该使用哪种模式?为什么?决策依据是什么?

决定是关于您是否希望您的应用程序 运行 作为 YARN 应用程序。

非 YARN 应用程序(您在 yarn-client 模式下获得)更简单。这是一个经典的 Linux 应用程序,您可以像启动任何应用程序一样启动它,并且它 运行 像任何应用程序一样在该计算机上启动。

YARN 应用程序(您在 yarn-cluster 模式下获得)由 YARN 管理。它 运行 在 YARN 决定安装它的任何机器上。如果它死了,YARN 会重启它,也许是在另一台机器上。它更健壮(例如,如果机器死机,它将重新启动)但以复杂性为代价(例如,您没有用于应用程序的固定 IP 地址)。

我一开始会选择 yarn-client。如果您发现需要它提供的功能,可以稍后切换到 yarn-cluster

向 Danier Darabos 的回答添加更多信息:除了托管 application/faillover 和驱动程序运行的位置(纱线集群模式下的应用程序主机或纱线客户端中的客户端mode,其他特性保持不变。但是yarn-client模式支持spark-shell,不像yarn-cluster模式。

看看这个 article 了解 运行 Spark 应用程序在各种模式下的区别 - YARN Cluster,YARN Client 和 Spark Stand alone模式

在考虑所有选项中的标准后做出慎重的决定。