當前位置: 首頁>>代碼示例>>Java>>正文


Java Container.newInstance方法代碼示例

本文整理匯總了Java中org.apache.hadoop.yarn.api.records.Container.newInstance方法的典型用法代碼示例。如果您正苦於以下問題:Java Container.newInstance方法的具體用法?Java Container.newInstance怎麽用?Java Container.newInstance使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.apache.hadoop.yarn.api.records.Container的用法示例。


在下文中一共展示了Container.newInstance方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: handle

import org.apache.hadoop.yarn.api.records.Container; //導入方法依賴的package包/類
@Override
public void handle(ContainerAllocatorEvent event) {
  ContainerId cId =
      ContainerId.newContainerId(getContext().getApplicationAttemptId(),
        containerCount++);
  NodeId nodeId = NodeId.newInstance(NM_HOST, NM_PORT);
  Resource resource = Resource.newInstance(1234, 2, 2);
  ContainerTokenIdentifier containerTokenIdentifier =
      new ContainerTokenIdentifier(cId, nodeId.toString(), "user",
      resource, System.currentTimeMillis() + 10000, 42, 42,
      Priority.newInstance(0), 0);
  Token containerToken = newContainerToken(nodeId, "password".getBytes(),
        containerTokenIdentifier);
  Container container = Container.newInstance(cId, nodeId,
      NM_HOST + ":" + NM_HTTP_PORT, resource, null, containerToken);
  JobID id = TypeConverter.fromYarn(applicationId);
  JobId jobId = TypeConverter.toYarn(id);
  getContext().getEventHandler().handle(new JobHistoryEvent(jobId, 
      new NormalizedResourceEvent(
          org.apache.hadoop.mapreduce.TaskType.REDUCE,
      100)));
  getContext().getEventHandler().handle(new JobHistoryEvent(jobId, 
      new NormalizedResourceEvent(
          org.apache.hadoop.mapreduce.TaskType.MAP,
      100)));
  getContext().getEventHandler().handle(
      new TaskAttemptContainerAssignedEvent(event.getAttemptID(),
          container, null));
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:30,代碼來源:MRApp.java

示例2: recoverAndCreateContainer

import org.apache.hadoop.yarn.api.records.Container; //導入方法依賴的package包/類
private RMContainer recoverAndCreateContainer(NMContainerStatus status,
    RMNode node) {
  Container container =
      Container.newInstance(status.getContainerId(), node.getNodeID(),
        node.getHttpAddress(), status.getAllocatedResource(),
        status.getPriority(), null);
  ApplicationAttemptId attemptId =
      container.getId().getApplicationAttemptId();
  RMContainer rmContainer =
      new RMContainerImpl(container, attemptId, node.getNodeID(),
        applications.get(attemptId.getApplicationId()).getUser(), rmContext,
        status.getCreationTime());
  return rmContainer;
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:15,代碼來源:AbstractYarnScheduler.java

示例3: mockContainer

import org.apache.hadoop.yarn.api.records.Container; //導入方法依賴的package包/類
private Container mockContainer(int i) {
  ApplicationId appId =
      ApplicationId.newInstance(System.currentTimeMillis(), 1);
  ApplicationAttemptId attemptId =
      ApplicationAttemptId.newInstance(appId, 1);
  ContainerId containerId = ContainerId.newContainerId(attemptId, i);
  nodeId = NodeId.newInstance("localhost", 0);
  // Create an empty record
  containerToken = recordFactory.newRecordInstance(Token.class);
  return Container.newInstance(containerId, nodeId, null, null, null,
    containerToken);
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:13,代碼來源:TestNMClientAsync.java

示例4: assignContainer

import org.apache.hadoop.yarn.api.records.Container; //導入方法依賴的package包/類
public ContainerId assignContainer(String nodeName, boolean isReduce) {
  ContainerId containerId =
      ContainerId.newContainerId(attemptId, nextContainerId++);
  Priority priority = isReduce ? RMContainerAllocator.PRIORITY_REDUCE
      : RMContainerAllocator.PRIORITY_MAP;
  Container container = Container.newInstance(containerId,
      NodeId.newInstance(nodeName, 1234), nodeName + ":5678",
    Resource.newInstance(1024, 1, 1), priority, null);
  containersToAllocate.add(container);
  return containerId;
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:12,代碼來源:TestRMContainerAllocator.java

示例5: getRMApp

import org.apache.hadoop.yarn.api.records.Container; //導入方法依賴的package包/類
private RMAppImpl getRMApp(RMContext rmContext, YarnScheduler yarnScheduler,
    ApplicationId applicationId3, YarnConfiguration config, String queueName,
    final long memorySeconds, final long vcoreSeconds, final long gcoreSeconds) {
  ApplicationSubmissionContext asContext = mock(ApplicationSubmissionContext.class);
  when(asContext.getMaxAppAttempts()).thenReturn(1);

  RMAppImpl app =
      spy(new RMAppImpl(applicationId3, rmContext, config, null, null,
          queueName, asContext, yarnScheduler, null,
          System.currentTimeMillis(), "YARN", null,
          BuilderUtils.newResourceRequest(
              RMAppAttemptImpl.AM_CONTAINER_PRIORITY, ResourceRequest.ANY,
              Resource.newInstance(1024, 1, 1), 1)){
                @Override
                public ApplicationReport createAndGetApplicationReport(
                    String clientUserName, boolean allowAccess) {
                  ApplicationReport report = super.createAndGetApplicationReport(
                      clientUserName, allowAccess);
                  ApplicationResourceUsageReport usageReport = 
                      report.getApplicationResourceUsageReport();
                  usageReport.setMemorySeconds(memorySeconds);
                  usageReport.setVcoreSeconds(vcoreSeconds);
                  usageReport.setGcoreSeconds(gcoreSeconds);
                  report.setApplicationResourceUsageReport(usageReport);
                  return report;
                }
            });

  ApplicationAttemptId attemptId = ApplicationAttemptId.newInstance(
      ApplicationId.newInstance(123456, 1), 1);
  RMAppAttemptImpl rmAppAttemptImpl = spy(new RMAppAttemptImpl(attemptId,
      rmContext, yarnScheduler, null, asContext, config, false, null));
  Container container = Container.newInstance(
      ContainerId.newContainerId(attemptId, 1), null, "", null, null, null);
  RMContainerImpl containerimpl = spy(new RMContainerImpl(container,
      attemptId, null, "", rmContext));
  Map<ApplicationAttemptId, RMAppAttempt> attempts = 
    new HashMap<ApplicationAttemptId, RMAppAttempt>();
  attempts.put(attemptId, rmAppAttemptImpl);
  when(app.getCurrentAppAttempt()).thenReturn(rmAppAttemptImpl);
  when(app.getAppAttempts()).thenReturn(attempts);
  when(rmAppAttemptImpl.getMasterContainer()).thenReturn(container);
  ResourceScheduler rs = mock(ResourceScheduler.class);
  when(rmContext.getScheduler()).thenReturn(rs);
  when(rmContext.getScheduler().getRMContainer(any(ContainerId.class)))
      .thenReturn(containerimpl);
  SchedulerAppReport sAppReport = mock(SchedulerAppReport.class);
  when(
      rmContext.getScheduler().getSchedulerAppInfo(
          any(ApplicationAttemptId.class))).thenReturn(sAppReport);
  List<RMContainer> rmContainers = new ArrayList<RMContainer>();
  rmContainers.add(containerimpl);
  when(
      rmContext.getScheduler().getSchedulerAppInfo(attemptId)
          .getLiveContainers()).thenReturn(rmContainers);
  ContainerStatus cs = mock(ContainerStatus.class);
  when(containerimpl.getFinishedStatus()).thenReturn(cs);
  when(containerimpl.getDiagnosticsInfo()).thenReturn("N/A");
  when(containerimpl.getContainerExitStatus()).thenReturn(0);
  when(containerimpl.getContainerState()).thenReturn(ContainerState.COMPLETE);
  return app;
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:63,代碼來源:TestClientRMService.java

示例6: testNMSimulator

import org.apache.hadoop.yarn.api.records.Container; //導入方法依賴的package包/類
@Test
public void testNMSimulator() throws Exception {
  // Register one node
  NMSimulator node1 = new NMSimulator();
  node1.init("rack1/node1", GB * 10, 10, 0, 1000, rm);
  node1.middleStep();

  int numClusterNodes = rm.getResourceScheduler().getNumClusterNodes();
  int cumulativeSleepTime = 0;
  int sleepInterval = 100;

  while(numClusterNodes != 1 && cumulativeSleepTime < 5000) {
    Thread.sleep(sleepInterval);
    cumulativeSleepTime = cumulativeSleepTime + sleepInterval;
    numClusterNodes = rm.getResourceScheduler().getNumClusterNodes();
  }

  Assert.assertEquals(1, rm.getResourceScheduler().getNumClusterNodes());
  Assert.assertEquals(GB * 10,
      rm.getResourceScheduler().getRootQueueMetrics().getAvailableMB());
  Assert.assertEquals(10,
      rm.getResourceScheduler().getRootQueueMetrics()
          .getAvailableVirtualCores());

  // Allocate one container on node1
  ContainerId cId1 = newContainerId(1, 1, 1);
  Container container1 = Container.newInstance(cId1, null, null,
      Resources.createResource(GB, 1), null, null);
  node1.addNewContainer(container1, 100000l);
  Assert.assertTrue("Node1 should have one running container.",
      node1.getRunningContainers().containsKey(cId1));

  // Allocate one AM container on node1
  ContainerId cId2 = newContainerId(2, 1, 1);
  Container container2 = Container.newInstance(cId2, null, null,
      Resources.createResource(GB, 1), null, null);
  node1.addNewContainer(container2, -1l);
  Assert.assertTrue("Node1 should have one running AM container",
      node1.getAMContainers().contains(cId2));

  // Remove containers
  node1.cleanupContainer(cId1);
  Assert.assertTrue("Container1 should be removed from Node1.",
      node1.getCompletedContainers().contains(cId1));
  node1.cleanupContainer(cId2);
  Assert.assertFalse("Container2 should be removed from Node1.",
      node1.getAMContainers().contains(cId2));
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:49,代碼來源:TestNMSimulator.java


注:本文中的org.apache.hadoop.yarn.api.records.Container.newInstance方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。