如何使用 Yarn 在 Cloudera 上添加 Spark 工作节点

How to add Spark worker nodes on cloudera with Yarn

我们有 cloudera 5.2,用户希望开始使用 Spark 的全部潜力(在分布式模式下,它可以利用 HDFS 的数据局部性),该服务已经安装并在 cloudera 管理器中可用 Status(在主页中)但是当单击该服务然后 "Instances" 它只显示一个历史服务器角色,在其他节点中显示一个网关服务器角色。根据我对 Spark 架构的理解,你有一个主节点和工作节点(与 HDFS 数据节点一起生活)所以在 cloudera 管理器中我尝试了 "Add role instances" 但只有 "Gateway" 角色可用。如何将 Sparks 工作节点(或执行程序)角色添加到具有 HDFS 数据节点的主机?还是没有必要(我认为由于 yarn,yarn 负责创建执行程序和应用程序主机)?主节点的情况如何?我是否需要配置任何东西以便用户可以在其完全分布式模式下使用 Spark?

master 和 worker 角色是 Spark Standalone 服务的一部分。您可以选择 Spark to 运行 with YARN(其中 Master 和 Worker 节点无关)或 Spark (Standalone)。

由于您在 Cloudera Manager 中启动了 Spark 服务而不是 Spark (Standalone),因此 Spark 已经在使用 YARN。在 Cloudera Manager 5.2 及更高版本中,有两个独立的 Spark 服务(Spark 和 Spark (Standalone))。 Spark 服务 运行s Spark 作为 YARN 应用程序,除了 Spark History Server 角色外,仅具有网关角色。

How do you add Sparks worker node(or executor) role to the hosts where you have HDFS datanodes?

不需要。这些主机上只需要网关角色。

引用自CM Documentation

在 Cloudera Manager 中,网关角色负责将客户端配置传播到集群中的其他主机。因此,请确保将网关角色分配给集群中的主机。如果您没有网关角色,则不会部署客户端配置。