我设置了1个名称节点、2个数据节点、1个资源管理器和2个节点管理器。所有组件都作为docker容器运行。每次我从2台机器(2个客户机)执行spark submit(Yarn集群模式)时,作业都会按顺序完成。job1和job2都处于接受状态,job1变为running和finished状态,然后job2被拾取并完成其执行。这些工作有没有办法并行执行?应用程序管理器如何选择这些任务并将其交给节点管理器?
我设置了1个名称节点、2个数据节点、1个资源管理器和2个节点管理器。所有组件都作为docker容器运行。每次我从2台机器(2个客户机)执行spark submit(Yarn集群模式)时,作业都会按顺序完成。job1和job2都处于接受状态,job1变为running和finished状态,然后job2被拾取并完成其执行。这些工作有没有办法并行执行?应用程序管理器如何选择这些任务并将其交给节点管理器?
1条答案
按热度按时间kxe2p93d1#
群集设置正在使用
Capacity Scheduler
,这是大多数可用hadoop发行版中的默认值。如果多个作业由同一个用户提交,它们将进入跟随fifo的同一个用户队列。这是容量调度器的默认行为。Fair Scheduler
可以配置为通过共享可用资源并行运行作业。将此属性添加到
yarn-site.xml
```yarn.resourcemanager.scheduler.class
org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler