当前位置: 首页>>代码示例>>Java>>正文


Java Application.addNodeManager方法代码示例

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


在下文中一共展示了Application.addNodeManager方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testMoveAppViolateQueueState

import org.apache.hadoop.yarn.server.resourcemanager.Application; //导入方法依赖的package包/类
@Test(expected = YarnException.class)
public void testMoveAppViolateQueueState() throws Exception {
  resourceManager = new ResourceManager() {
     @Override
      protected RMNodeLabelsManager createNodeLabelManager() {
        RMNodeLabelsManager mgr = new NullRMNodeLabelsManager();
        mgr.init(getConfig());
        return mgr;
      }
  };
  CapacitySchedulerConfiguration csConf =
      new CapacitySchedulerConfiguration();
  setupQueueConfiguration(csConf);
  StringBuilder qState = new StringBuilder();
  qState.append(CapacitySchedulerConfiguration.PREFIX).append(B)
      .append(CapacitySchedulerConfiguration.DOT)
      .append(CapacitySchedulerConfiguration.STATE);
  csConf.set(qState.toString(), QueueState.STOPPED.name());
  YarnConfiguration conf = new YarnConfiguration(csConf);
  conf.setClass(YarnConfiguration.RM_SCHEDULER, CapacityScheduler.class,
      ResourceScheduler.class);
  resourceManager.init(conf);
  resourceManager.getRMContext().getContainerTokenSecretManager()
      .rollMasterKey();
  resourceManager.getRMContext().getNMTokenSecretManager().rollMasterKey();
  ((AsyncDispatcher) resourceManager.getRMContext().getDispatcher()).start();
  mockContext = mock(RMContext.class);
  when(mockContext.getConfigurationProvider()).thenReturn(
      new LocalConfigurationProvider());

  ResourceScheduler scheduler = resourceManager.getResourceScheduler();

  // Register node1
  String host_0 = "host_0";
  NodeManager nm_0 =
      registerNode(host_0, 1234, 2345, NetworkTopology.DEFAULT_RACK,
          Resources.createResource(6 * GB, 1));

  // ResourceRequest priorities
  Priority priority_0 =
      org.apache.hadoop.yarn.server.resourcemanager.resource.Priority
          .create(0);
  Priority priority_1 =
      org.apache.hadoop.yarn.server.resourcemanager.resource.Priority
          .create(1);

  // Submit application_0
  Application application_0 =
      new Application("user_0", "a1", resourceManager);
  application_0.submit(); // app + app attempt event sent to scheduler

  application_0.addNodeManager(host_0, 1234, nm_0);

  Resource capability_0_0 = Resources.createResource(3 * GB, 1);
  application_0.addResourceRequestSpec(priority_1, capability_0_0);

  Resource capability_0_1 = Resources.createResource(2 * GB, 1);
  application_0.addResourceRequestSpec(priority_0, capability_0_1);

  Task task_0_0 =
      new Task(application_0, priority_1, new String[] { host_0 });
  application_0.addTask(task_0_0);

  // Send resource requests to the scheduler
  application_0.schedule(); // allocate

  // task_0_0 allocated
  nodeUpdate(nm_0);

  // Get allocations from the scheduler
  application_0.schedule(); // task_0_0
  checkApplicationResourceUsage(3 * GB, application_0);

  checkNodeResourceUsage(3 * GB, nm_0);
  // b2 queue contains 3GB consumption app,
  // add another 3GB will hit max capacity limit on queue b
  scheduler.moveApplication(application_0.getApplicationId(), "b1");

}
 
开发者ID:naver,项目名称:hadoop,代码行数:80,代码来源:TestCapacityScheduler.java

示例2: testCapacitySchedulerAllocation

import org.apache.hadoop.yarn.server.resourcemanager.Application; //导入方法依赖的package包/类
@Test
public void testCapacitySchedulerAllocation() throws Exception {

  setup();

  boolean isCapacityScheduler =
      resourceManager.getResourceScheduler() instanceof CapacityScheduler;
  assumeTrue("This test is only supported on Capacity Scheduler",
    isCapacityScheduler);

  // Register node1
  String host_0 = "host_0";
  NodeManager nm_0 =
      registerNode(host_0, 1234, 2345, NetworkTopology.DEFAULT_RACK,
        Resources.createResource(5 * 1024, 1));

  // ResourceRequest priorities
  Priority priority_0 =
      org.apache.hadoop.yarn.server.resourcemanager.resource.Priority
        .create(0);
  Priority priority_1 =
      org.apache.hadoop.yarn.server.resourcemanager.resource.Priority
        .create(1);

  // Submit an application
  Application application_0 =
      new Application("user_0", "default", resourceManager);
  application_0.submit();

  application_0.addNodeManager(host_0, 1234, nm_0);

  Resource capability_0_0 = Resources.createResource(1024, 1);
  application_0.addResourceRequestSpec(priority_1, capability_0_0);

  Resource capability_0_1 = Resources.createResource(2 * 1024, 1);
  application_0.addResourceRequestSpec(priority_0, capability_0_1);

  Task task_0_0 =
      new Task(application_0, priority_1, new String[] { host_0 });
  application_0.addTask(task_0_0);
  Task task_0_1 =
      new Task(application_0, priority_0, new String[] { host_0 });
  application_0.addTask(task_0_1);

  // Send resource requests to the scheduler
  application_0.schedule();

  // Send a heartbeat to kick the tires on the Scheduler
  nodeUpdate(nm_0);
  SchedulerHealth sh =
      ((CapacityScheduler) resourceManager.getResourceScheduler())
        .getSchedulerHealth();
  Assert.assertEquals(2, sh.getAllocationCount().longValue());
  Assert.assertEquals(Resource.newInstance(3 * 1024, 2),
    sh.getResourcesAllocated());
  Assert.assertEquals(2, sh.getAggregateAllocationCount().longValue());
  Assert.assertEquals("host_0:1234", sh.getLastAllocationDetails()
    .getNodeId().toString());
  Assert.assertEquals("root.default", sh.getLastAllocationDetails()
    .getQueue());

  Task task_0_2 =
      new Task(application_0, priority_0, new String[] { host_0 });
  application_0.addTask(task_0_2);
  application_0.schedule();

  nodeUpdate(nm_0);
  Assert.assertEquals(1, sh.getAllocationCount().longValue());
  Assert.assertEquals(Resource.newInstance(2 * 1024, 1),
    sh.getResourcesAllocated());
  Assert.assertEquals(3, sh.getAggregateAllocationCount().longValue());
  Assert.assertEquals("host_0:1234", sh.getLastAllocationDetails()
    .getNodeId().toString());
  Assert.assertEquals("root.default", sh.getLastAllocationDetails()
    .getQueue());
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:77,代码来源:TestSchedulerHealth.java

示例3: testCapacitySchedulerReservation

import org.apache.hadoop.yarn.server.resourcemanager.Application; //导入方法依赖的package包/类
@Test
public void testCapacitySchedulerReservation() throws Exception {

  setup();

  boolean isCapacityScheduler =
      resourceManager.getResourceScheduler() instanceof CapacityScheduler;
  assumeTrue("This test is only supported on Capacity Scheduler",
    isCapacityScheduler);

  // Register nodes
  String host_0 = "host_0";
  NodeManager nm_0 =
      registerNode(host_0, 1234, 2345, NetworkTopology.DEFAULT_RACK,
        Resources.createResource(2 * 1024, 1));
  String host_1 = "host_1";
  NodeManager nm_1 =
      registerNode(host_1, 1234, 2345, NetworkTopology.DEFAULT_RACK,
        Resources.createResource(5 * 1024, 1));
  nodeUpdate(nm_0);
  nodeUpdate(nm_1);

  // ResourceRequest priorities
  Priority priority_0 =
      org.apache.hadoop.yarn.server.resourcemanager.resource.Priority
        .create(0);
  Priority priority_1 =
      org.apache.hadoop.yarn.server.resourcemanager.resource.Priority
        .create(1);

  // Submit an application
  Application application_0 =
      new Application("user_0", "default", resourceManager);
  application_0.submit();

  application_0.addNodeManager(host_0, 1234, nm_0);
  application_0.addNodeManager(host_1, 1234, nm_1);

  Resource capability_0_0 = Resources.createResource(1024, 1);
  application_0.addResourceRequestSpec(priority_1, capability_0_0);

  Resource capability_0_1 = Resources.createResource(2 * 1024, 1);
  application_0.addResourceRequestSpec(priority_0, capability_0_1);

  Task task_0_0 =
      new Task(application_0, priority_1, new String[] { host_0 });
  application_0.addTask(task_0_0);

  // Send resource requests to the scheduler
  application_0.schedule();

  // Send a heartbeat to kick the tires on the Scheduler
  nodeUpdate(nm_0);
  SchedulerHealth sh =
      ((CapacityScheduler) resourceManager.getResourceScheduler())
        .getSchedulerHealth();
  Assert.assertEquals(1, sh.getAllocationCount().longValue());
  Assert.assertEquals(Resource.newInstance(1024, 1),
    sh.getResourcesAllocated());
  Assert.assertEquals(1, sh.getAggregateAllocationCount().longValue());
  Assert.assertEquals("host_0:1234", sh.getLastAllocationDetails()
    .getNodeId().toString());
  Assert.assertEquals("root.default", sh.getLastAllocationDetails()
    .getQueue());

  Task task_0_1 =
      new Task(application_0, priority_0, new String[] { host_0 });
  application_0.addTask(task_0_1);
  application_0.schedule();

  nodeUpdate(nm_0);
  Assert.assertEquals(0, sh.getAllocationCount().longValue());
  Assert.assertEquals(1, sh.getReservationCount().longValue());
  Assert.assertEquals(Resource.newInstance(2 * 1024, 1),
    sh.getResourcesReserved());
  Assert.assertEquals(1, sh.getAggregateAllocationCount().longValue());
  Assert.assertEquals("host_0:1234", sh.getLastAllocationDetails()
    .getNodeId().toString());
  Assert.assertEquals("root.default", sh.getLastAllocationDetails()
    .getQueue());
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:82,代码来源:TestSchedulerHealth.java

示例4: testMoveAppViolateQueueState

import org.apache.hadoop.yarn.server.resourcemanager.Application; //导入方法依赖的package包/类
@Test(expected = YarnException.class)
public void testMoveAppViolateQueueState() throws Exception {
  resourceManager = new ResourceManager() {
     @Override
      protected RMNodeLabelsManager createNodeLabelManager() {
        RMNodeLabelsManager mgr = new MemoryRMNodeLabelsManager();
        mgr.init(getConfig());
        return mgr;
      }
  };
  CapacitySchedulerConfiguration csConf =
      new CapacitySchedulerConfiguration();
  setupQueueConfiguration(csConf);
  StringBuilder qState = new StringBuilder();
  qState.append(CapacitySchedulerConfiguration.PREFIX).append(B)
      .append(CapacitySchedulerConfiguration.DOT)
      .append(CapacitySchedulerConfiguration.STATE);
  csConf.set(qState.toString(), QueueState.STOPPED.name());
  YarnConfiguration conf = new YarnConfiguration(csConf);
  conf.setClass(YarnConfiguration.RM_SCHEDULER, CapacityScheduler.class,
      ResourceScheduler.class);
  resourceManager.init(conf);
  resourceManager.getRMContext().getContainerTokenSecretManager()
      .rollMasterKey();
  resourceManager.getRMContext().getNMTokenSecretManager().rollMasterKey();
  ((AsyncDispatcher) resourceManager.getRMContext().getDispatcher()).start();
  mockContext = mock(RMContext.class);
  when(mockContext.getConfigurationProvider()).thenReturn(
      new LocalConfigurationProvider());

  ResourceScheduler scheduler = resourceManager.getResourceScheduler();

  // Register node1
  String host_0 = "host_0";
  NodeManager nm_0 =
      registerNode(host_0, 1234, 2345, NetworkTopology.DEFAULT_RACK,
          Resources.createResource(6 * GB, 1));

  // ResourceRequest priorities
  Priority priority_0 =
      org.apache.hadoop.yarn.server.resourcemanager.resource.Priority
          .create(0);
  Priority priority_1 =
      org.apache.hadoop.yarn.server.resourcemanager.resource.Priority
          .create(1);

  // Submit application_0
  Application application_0 =
      new Application("user_0", "a1", resourceManager);
  application_0.submit(); // app + app attempt event sent to scheduler

  application_0.addNodeManager(host_0, 1234, nm_0);

  Resource capability_0_0 = Resources.createResource(3 * GB, 1);
  application_0.addResourceRequestSpec(priority_1, capability_0_0);

  Resource capability_0_1 = Resources.createResource(2 * GB, 1);
  application_0.addResourceRequestSpec(priority_0, capability_0_1);

  Task task_0_0 =
      new Task(application_0, priority_1, new String[] { host_0 });
  application_0.addTask(task_0_0);

  // Send resource requests to the scheduler
  application_0.schedule(); // allocate

  // task_0_0 allocated
  nodeUpdate(nm_0);

  // Get allocations from the scheduler
  application_0.schedule(); // task_0_0
  checkApplicationResourceUsage(3 * GB, application_0);

  checkNodeResourceUsage(3 * GB, nm_0);
  // b2 queue contains 3GB consumption app,
  // add another 3GB will hit max capacity limit on queue b
  scheduler.moveApplication(application_0.getApplicationId(), "b1");

}
 
开发者ID:Nextzero,项目名称:hadoop-2.6.0-cdh5.4.3,代码行数:80,代码来源:TestCapacityScheduler.java


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