我的用例:
为了解决这个问题,我们创建了纱线队列,如下所示:
创建用于资源管理的纱线队列。为长时间运行的作业配置Q1队列,为小型正在运行的作业配置Q2队列。
Config:
Q1 : capacity = 50% and it can go upto 100%
capacity on CORE nodes = 50% and maximum 100%
Q2 : capacity = 50% and it can go upto 100%
capacity on CORE nodes = 50% and maximum 100% 我们面临的问题:
当LRJ正在进行的时候,它获得了所有的资源。当LRJ获得了所有资源时,多个正在运行的小作业在等待。一旦集群规模扩大,新资源可用,小的正在运行的作业就会获得资源。但是,由于集群需要时间来扩展活动,这就造成了分配资源给这些作业的严重延迟。
发布于 2020-03-19 12:53:51
经过更多的分析,其中涉及到与一些无名英雄的讨论,决定根据我们的用例在纱线队列上应用抢占。
当发生下列事件顺序时,将抢占Q1队列上的作业:
下面是我们在AWS CloudFormation脚本中用于启动EMR集群的示例配置:
容量-调度程序配置:
yarn.scheduler.capacity.resource-calculator: org.apache.hadoop.yarn.util.resource.DominantResourceCalculator
yarn.scheduler.capacity.root.queues: Q1,Q2
yarn.scheduler.capacity.root.Q2.capacity: 60
yarn.scheduler.capacity.root.Q1.capacity: 40
yarn.scheduler.capacity.root.Q2.accessible-node-labels: "*"
yarn.scheduler.capacity.root.Q1.accessible-node-labels: "*"
yarn.scheduler.capacity.root.accessible-node-labels.CORE.capacity: 100
yarn.scheduler.capacity.root.Q2.accessible-node-labels.CORE.capacity: 60
yarn.scheduler.capacity.root.Q1.accessible-node-labels.CORE.capacity: 40
yarn.scheduler.capacity.root.Q1.accessible-node-labels.CORE.maximum-capacity: 60
yarn.scheduler.capacity.root.Q2.disable_preemption: true
yarn.scheduler.capacity.root.Q1.disable_preemption: false纱线.现场配置:
yarn.resourcemanager.scheduler.class: org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler
yarn.resourcemanager.scheduler.monitor.enable: true
yarn.resourcemanager.scheduler.monitor.policies: org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.ProportionalCapacityPreemptionPolicy
yarn.resourcemanager.monitor.capacity.preemption.monitoring_interval: 2000
yarn.resourcemanager.monitor.capacity.preemption.max_wait_before_kill: 3000
yarn.resourcemanager.monitor.capacity.preemption.total_preemption_per_round: 0.5
yarn.resourcemanager.monitor.capacity.preemption.max_ignored_over_capacity: 0.1
yarn.resourcemanager.monitor.capacity.preemption.natural_termination_factor: 1有了以上所述,您必须根据用例在特定队列上指定作业。
https://stackoverflow.com/questions/60739639
复制相似问题