• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java ProportionalCapacityPreemptionPolicy类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.ProportionalCapacityPreemptionPolicy的典型用法代码示例。如果您正苦于以下问题:Java ProportionalCapacityPreemptionPolicy类的具体用法?Java ProportionalCapacityPreemptionPolicy怎么用?Java ProportionalCapacityPreemptionPolicy使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



ProportionalCapacityPreemptionPolicy类属于org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity包,在下文中一共展示了ProportionalCapacityPreemptionPolicy类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: testRMStarts

import org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.ProportionalCapacityPreemptionPolicy; //导入依赖的package包/类
@Test(timeout = 10000)
public void testRMStarts() throws IOException {
  Configuration conf = new YarnConfiguration();
  conf.setBoolean(YarnConfiguration.RM_SCHEDULER_ENABLE_MONITORS, true);
  conf.set(YarnConfiguration.RM_SCHEDULER_MONITOR_POLICIES,
      ProportionalCapacityPreemptionPolicy.class.getCanonicalName());

  RMStorageFactory.setConfiguration(conf);
  YarnAPIStorageFactory.setConfiguration(conf);
  DBUtility.InitializeDB();
  
  ResourceManager rm = new MockRM();
  try {
    rm.init(conf);
  } catch (Exception e) {
    fail("ResourceManager does not start when " +
        YarnConfiguration.RM_SCHEDULER_ENABLE_MONITORS + " is set to true");
  }
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:20,代码来源:TestSchedulingMonitor.java


示例2: testRMStarts

import org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.ProportionalCapacityPreemptionPolicy; //导入依赖的package包/类
@Test(timeout = 10000)
public void testRMStarts() {
  Configuration conf = new YarnConfiguration();
  conf.setBoolean(YarnConfiguration.RM_SCHEDULER_ENABLE_MONITORS, true);
  conf.set(YarnConfiguration.RM_SCHEDULER_MONITOR_POLICIES,
      ProportionalCapacityPreemptionPolicy.class.getCanonicalName());

  ResourceManager rm = new ResourceManager();
  try {
    rm.init(conf);
  } catch (Exception e) {
    fail("ResourceManager does not start when " +
        YarnConfiguration.RM_SCHEDULER_ENABLE_MONITORS + " is set to true");
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:16,代码来源:TestSchedulingMonitor.java


示例3: testRMStarts

import org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.ProportionalCapacityPreemptionPolicy; //导入依赖的package包/类
@Test(timeout = 10000)
public void testRMStarts() {
  Configuration conf = new YarnConfiguration();
  conf.setBoolean(YarnConfiguration.RM_SCHEDULER_ENABLE_MONITORS, true);
  conf.set(YarnConfiguration.RM_SCHEDULER_MONITOR_POLICIES,
      ProportionalCapacityPreemptionPolicy.class.getCanonicalName());

  ResourceManager rm = new MockRM();
  try {
    rm.init(conf);
  } catch (Exception e) {
    fail("ResourceManager does not start when " +
        YarnConfiguration.RM_SCHEDULER_ENABLE_MONITORS + " is set to true");
  }
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:16,代码来源:TestSchedulingMonitor.java


示例4: setUp

import org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.ProportionalCapacityPreemptionPolicy; //导入依赖的package包/类
@Before
void setUp() throws Exception {
  conf = new YarnConfiguration();
  conf.setClass(YarnConfiguration.RM_SCHEDULER, CapacityScheduler.class,
      ResourceScheduler.class);
  conf.setBoolean(YarnConfiguration.RM_SCHEDULER_ENABLE_MONITORS, true);
  conf.setClass(YarnConfiguration.RM_SCHEDULER_MONITOR_POLICIES,
      ProportionalCapacityPreemptionPolicy.class, SchedulingEditPolicy.class);
  conf = TestUtils.getConfigurationWithMultipleQueues(this.conf);

  // Set preemption related configurations
  conf.setInt(CapacitySchedulerConfiguration.PREEMPTION_WAIT_TIME_BEFORE_KILL,
      0);
  conf.setFloat(CapacitySchedulerConfiguration.TOTAL_PREEMPTION_PER_ROUND,
      1.0f);
  conf.setFloat(
      CapacitySchedulerConfiguration.PREEMPTION_NATURAL_TERMINATION_FACTOR,
      1.0f);
  conf.setLong(CapacitySchedulerConfiguration.PREEMPTION_MONITORING_INTERVAL,
      60000L);
  RMStorageFactory.setConfiguration(conf);
  YarnAPIStorageFactory.setConfiguration(conf);
  DBUtility.InitializeDB();
  mgr = new NullRMNodeLabelsManager();
  mgr.init(this.conf);
  clock = mock(Clock.class);
  when(clock.getTime()).thenReturn(0L);
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:29,代码来源:CapacitySchedulerPreemptionTestBase.java


示例5: testPreemptionPolicyCleanupKillableContainersWhenNoPreemptionNeeded

import org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.ProportionalCapacityPreemptionPolicy; //导入依赖的package包/类
@Ignore
@Test (timeout = 60000)
public void testPreemptionPolicyCleanupKillableContainersWhenNoPreemptionNeeded()
    throws Exception {
  /**
   * Test case:
   * <pre>
   *             Root
   *            /  |  \
   *           a   b   c
   *          10   20  70
   * </pre>
   * Submit applications to two queues, one uses more than the other, so
   * preemption will happen.
   *
   * Check:
   * 1) Containers will be marked to killable
   * 2) Cancel resource request
   * 3) Killable containers will be cancelled from policy and scheduler
   */
  MockRM rm1 = new MockRM(conf);
  rm1.getRMContext().setNodeLabelManager(mgr);
  rm1.start();
  MockNM nm1 = rm1.registerNode("h1:1234", 8 * GB);
  CapacityScheduler cs = (CapacityScheduler) rm1.getResourceScheduler();
  RMNode rmNode1 = rm1.getRMContext().getRMNodes().get(nm1.getNodeId());

  // launch an app to queue, AM container should be launched in nm1
  RMApp app1 = rm1.submitApp(1 * GB, "app", "user", null, "a");
  MockAM am1 = MockRM.launchAndRegisterAM(app1, rm1, nm1);

  am1.allocate("*", 1 * GB, 6, new ArrayList<ContainerId>());

  // Do allocation 6 times for node1
  for (int i = 0; i < 6; i++) {
    cs.handle(new NodeUpdateSchedulerEvent(rmNode1));
  }

  // App1 should have 7 containers now, and no available resource for cluster
  FiCaSchedulerApp schedulerApp1 = cs.getApplicationAttempt(
      am1.getApplicationAttemptId());
  Assert.assertEquals(7, schedulerApp1.getLiveContainers().size());

  // Submit app2 to queue-c and asks for a 1G container for AM
  RMApp app2 = rm1.submitApp(1 * GB, "app", "user", null, "c");
  MockAM am2 = MockRM.launchAndRegisterAM(app2, rm1, nm1);

  // NM1 has available resource = 0G
  Assert.assertEquals(0 * GB, cs.getNode(nm1.getNodeId())
      .getAvailableResource().getMemorySize());
  am2.allocate("*", 3 * GB, 1, new ArrayList<ContainerId>());

  // Get edit policy and do one update
  ProportionalCapacityPreemptionPolicy editPolicy =
      (ProportionalCapacityPreemptionPolicy) getSchedulingEditPolicy(rm1);

  // Call edit schedule twice, and check if 3 container from app1 marked
  // to be "killable"
  editPolicy.editSchedule();
  editPolicy.editSchedule();

  PreemptionManager pm = cs.getPreemptionManager();
  waitKillableContainersSize(pm, "a", RMNodeLabelsManager.NO_LABEL, 3);

  // Change reqeust from 3G to 2G, now we can preempt one less container. (3->2)
  am2.allocate("*", 2 * GB, 1, new ArrayList<ContainerId>());
  editPolicy.editSchedule();
  Assert.assertEquals(0, editPolicy.getToPreemptContainers().size());
  waitKillableContainersSize(pm, "a", RMNodeLabelsManager.NO_LABEL, 2);

  // Call editSchedule once more to make sure still nothing happens
  editPolicy.editSchedule();
  Assert.assertEquals(0, editPolicy.getToPreemptContainers().size());
  waitKillableContainersSize(pm, "a", RMNodeLabelsManager.NO_LABEL, 2);
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:76,代码来源:TestCapacitySchedulerLazyPreemption.java



注:本文中的org.apache.hadoop.yarn.server.resourcemanager.monitor.capacity.ProportionalCapacityPreemptionPolicy类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java XDIClient类代码示例发布时间:2022-05-23
下一篇:
Java MetricsWALSource类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap