如何配置纱线群集以并行执行应用程序?

问题描述 投票:0回答:2

当我在纱线群集上运行spark作业时,应用程序正在队列中运行。那么如何在并行数量的应用程序中运行?

bigdata cluster-computing admin yarn hadoop2
2个回答
0
投票

默认情况下,Spark将在启动作业时获取所有可用资源。

您可以通过spark-submit命令限制每个作业消耗的资源量。

将选项“--conf spark.cores.max = 1”添加到spark-submit。您可以更改核心数以适应您的环境。例如,如果您有100个核心,则可以将单个作业限制为25个核心或5个核心等。

您还可以限制消耗的内存量: - conf spark.executor.memory = 4g

您可以通过spark-submit或文件conf / spark-defaults.conf更改设置。这是一个文档链接:

Spark Configuration


0
投票

我想您的YARN调度程序选项设置为FIFO。请将其更改为FAIR或capacity scheduler.Fair Scheduler尝试分配资源,以便所有正在运行的应用程序获得相同的资源份额。

Capacity Scheduler允许沿组织线共享Hadoop集群,从而为每个组织分配整个集群的特定容量。每个组织都设置有一个专用队列,该队列配置为使用给定部分的群集容量。可以以分层方式进一步划分队列,允许每个组织在组织内的不同用户组之间共享其集群容限。在队列中,使用FIFO调度来调度应用程序。

如果您正在使用容量调度程序,则在提交提交中提及您的队列--queue queueName

请尝试更改此容量调度程序属性

yarn.scheduler.capacity.maximum-applications =任何数字

它将决定并行运行多少个应用程序

© www.soinside.com 2019 - 2024. All rights reserved.