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

时间:2018-08-31 13:33:07

标签: bigdata cluster-computing admin yarn hadoop2

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

  

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

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

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

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

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