YARN 设置中的应用程序管理器



我设置了 1 个名称节点、2 个数据节点、1 个资源管理器和 2 个节点管理器。所有组件都作为 docker 容器运行。每次我从 2 台机器(2 个客户端)执行 Spark 提交(yarn 集群模式)时,作业都会按顺序完成。作业 1 和作业 2 都进入"已接受"状态,作业 1 转到"正在运行"和"已完成"状态,然后选取 Job2 并完成其执行。有没有办法以并行方式执行这些作业?应用程序管理器如何选择这些任务以将其提供给节点管理器?

集群设置使用的是YARN Capacity Scheduler,这是大多数可用Hadoop发行版中的默认设置。如果同一用户提交多个作业,则它们将进入FIFO之后的同一用户队列。这是容量计划程序的默认行为。

Fair Scheduler可以通过共享可用资源配置为并行运行作业。

将此属性添加到yarn-site.xml

<property>
  <name>yarn.resourcemanager.scheduler.class</name>
  <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
</property>

在分配文件中配置公平调度程序queues

<property>
      <name>yarn.scheduler.fair.allocation.file</name>
      <value>/path/to/allocation-file.xml</value>
</property>

如果未配置此属性,则默认情况下将为每个用户创建一个队列。

相关内容

  • 没有找到相关文章

最新更新