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


Java RMNodeCleanAppEvent类代码示例

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


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

示例1: transition

import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeCleanAppEvent; //导入依赖的package包/类
public void transition(RMAppImpl app, RMAppEvent event) {
  for (NodeId nodeId : app.getRanNodes()) {
    app.handler.handle(
        new RMNodeCleanAppEvent(nodeId, app.applicationId));
  }
  app.finishTime = app.storedFinishTime;
  if (app.finishTime == 0 ) {
    app.finishTime = app.systemClock.getTime();
  }
  // Recovered apps that are completed were not added to scheduler, so no
  // need to remove them from scheduler.
  if (app.recoveredFinalState == null) {
    app.handler.handle(new AppRemovedSchedulerEvent(app.applicationId,
      finalState));
  }
  app.handler.handle(
      new RMAppManagerEvent(app.applicationId,
      RMAppManagerEventType.APP_COMPLETED));

  app.rmContext.getRMApplicationHistoryWriter()
      .applicationFinished(app, finalState);
  app.rmContext.getSystemMetricsPublisher()
      .appFinished(app, finalState, app.finishTime);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:25,代码来源:RMAppImpl.java

示例2: transition

import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeCleanAppEvent; //导入依赖的package包/类
public void transition(RMAppImpl app, RMAppEvent event) {
  RMAppRunningOnNodeEvent nodeAddedEvent = (RMAppRunningOnNodeEvent) event;
  
  // if final state already stored, notify RMNode
  if (isAppInFinalState(app)) {
    app.handler.handle(
        new RMNodeCleanAppEvent(nodeAddedEvent.getNodeId(), nodeAddedEvent
            .getApplicationId()));
    return;
  }
  
  // otherwise, add it to ranNodes for further process
  app.ranNodes.add(nodeAddedEvent.getNodeId());

  if (!app.logAggregationStatus.containsKey(nodeAddedEvent.getNodeId())) {
    app.logAggregationStatus.put(nodeAddedEvent.getNodeId(),
      LogAggregationReport.newInstance(app.applicationId,
        app.logAggregationEnabled ? LogAggregationStatus.NOT_START
            : LogAggregationStatus.DISABLED, ""));
  }
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:22,代码来源:RMAppImpl.java

示例3: transition

import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeCleanAppEvent; //导入依赖的package包/类
@SuppressWarnings("unchecked")
public void transition(RMAppImpl app, RMAppEvent event) {
  Set<NodeId> nodes = getNodesOnWhichAttemptRan(app);
  for (NodeId nodeId : nodes) {
    app.handler.handle(
        new RMNodeCleanAppEvent(nodeId, app.applicationId));
  }
  if (app.getState() != RMAppState.FINISHING) {
    app.finishTime = System.currentTimeMillis();
  }
  // application completely done and remove from state store.
  app.removeApplicationState();

  app.handler.handle(
      new RMAppManagerEvent(app.applicationId,
      RMAppManagerEventType.APP_COMPLETED));
}
 
开发者ID:chendave,项目名称:hadoop-TCP,代码行数:18,代码来源:RMAppImpl.java

示例4: transition

import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeCleanAppEvent; //导入依赖的package包/类
public void transition(RMAppImpl app, RMAppEvent event) {
  Set<NodeId> nodes = getNodesOnWhichAttemptRan(app);
  for (NodeId nodeId : nodes) {
    app.handler.handle(
        new RMNodeCleanAppEvent(nodeId, app.applicationId));
  }
  app.finishTime = app.storedFinishTime;
  if (app.finishTime == 0 ) {
    app.finishTime = System.currentTimeMillis();
  }
  app.handler.handle(new AppRemovedSchedulerEvent(app.applicationId,
    finalState));
  app.handler.handle(
      new RMAppManagerEvent(app.applicationId,
      RMAppManagerEventType.APP_COMPLETED));

  app.rmContext.getRMApplicationHistoryWriter()
      .applicationFinished(app, finalState);
}
 
开发者ID:Seagate,项目名称:hadoop-on-lustre2,代码行数:20,代码来源:RMAppImpl.java

示例5: testUpdateHeartbeatResponseForCleanup

import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeCleanAppEvent; //导入依赖的package包/类
@Test(timeout=20000)
public void testUpdateHeartbeatResponseForCleanup() {
  RMNodeImpl node = getRunningNode();
  NodeId nodeId = node.getNodeID();

  // Expire a container
ContainerId completedContainerId = BuilderUtils.newContainerId(
		BuilderUtils.newApplicationAttemptId(
				BuilderUtils.newApplicationId(0, 0), 0), 0);
  node.handle(new RMNodeCleanContainerEvent(nodeId, completedContainerId));
  Assert.assertEquals(1, node.getContainersToCleanUp().size());

  // Finish an application
  ApplicationId finishedAppId = BuilderUtils.newApplicationId(0, 1);
  node.handle(new RMNodeCleanAppEvent(nodeId, finishedAppId));
  Assert.assertEquals(1, node.getAppsToCleanup().size());

  // Verify status update does not clear containers/apps to cleanup
  // but updating heartbeat response for cleanup does
  RMNodeStatusEvent statusEvent = getMockRMNodeStatusEvent();
  node.handle(statusEvent);
  Assert.assertEquals(1, node.getContainersToCleanUp().size());
  Assert.assertEquals(1, node.getAppsToCleanup().size());
  NodeHeartbeatResponse hbrsp = Records.newRecord(NodeHeartbeatResponse.class);
  node.updateNodeHeartbeatResponseForCleanup(hbrsp);
  Assert.assertEquals(0, node.getContainersToCleanUp().size());
  Assert.assertEquals(0, node.getAppsToCleanup().size());
  Assert.assertEquals(1, hbrsp.getContainersToCleanup().size());
  Assert.assertEquals(completedContainerId, hbrsp.getContainersToCleanup().get(0));
  Assert.assertEquals(1, hbrsp.getApplicationsToCleanup().size());
  Assert.assertEquals(finishedAppId, hbrsp.getApplicationsToCleanup().get(0));
}
 
开发者ID:naver,项目名称:hadoop,代码行数:33,代码来源:TestRMNodeTransitions.java

示例6: testUpdateHeartbeatResponseForCleanup

import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeCleanAppEvent; //导入依赖的package包/类
@Test(timeout=20000)
public void testUpdateHeartbeatResponseForCleanup() {
  RMNodeImpl node = getRunningNode();
  NodeId nodeId = node.getNodeID();

  // Expire a container
  ContainerId completedContainerId = BuilderUtils.newContainerId(
      BuilderUtils.newApplicationAttemptId(
          BuilderUtils.newApplicationId(0, 0), 0), 0);
  node.handle(new RMNodeCleanContainerEvent(nodeId, completedContainerId));
  Assert.assertEquals(1, node.getContainersToCleanUp().size());

  // Finish an application
  ApplicationId finishedAppId = BuilderUtils.newApplicationId(0, 1);
  node.handle(new RMNodeCleanAppEvent(nodeId, finishedAppId));
  Assert.assertEquals(1, node.getAppsToCleanup().size());

  // Verify status update does not clear containers/apps to cleanup
  // but updating heartbeat response for cleanup does
  RMNodeStatusEvent statusEvent = getMockRMNodeStatusEvent(null);
  node.handle(statusEvent);
  Assert.assertEquals(1, node.getContainersToCleanUp().size());
  Assert.assertEquals(1, node.getAppsToCleanup().size());
  NodeHeartbeatResponse hbrsp = Records.newRecord(NodeHeartbeatResponse.class);
  node.updateNodeHeartbeatResponseForCleanup(hbrsp);
  Assert.assertEquals(0, node.getContainersToCleanUp().size());
  Assert.assertEquals(0, node.getAppsToCleanup().size());
  Assert.assertEquals(1, hbrsp.getContainersToCleanup().size());
  Assert.assertEquals(completedContainerId, hbrsp.getContainersToCleanup().get(0));
  Assert.assertEquals(1, hbrsp.getApplicationsToCleanup().size());
  Assert.assertEquals(finishedAppId, hbrsp.getApplicationsToCleanup().get(0));
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:33,代码来源:TestRMNodeTransitions.java

示例7: testUpdateHeartbeatResponseForAppLifeCycle

import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeCleanAppEvent; //导入依赖的package包/类
@Test(timeout=20000)
public void testUpdateHeartbeatResponseForAppLifeCycle() {
  RMNodeImpl node = getRunningNode();
  NodeId nodeId = node.getNodeID();

  ApplicationId runningAppId = BuilderUtils.newApplicationId(0, 1);
  // Create a running container
  ContainerId runningContainerId = BuilderUtils.newContainerId(
      BuilderUtils.newApplicationAttemptId(
      runningAppId, 0), 0);

  ContainerStatus status = ContainerStatus.newInstance(runningContainerId,
      ContainerState.RUNNING, "", 0);
  List<ContainerStatus> statusList = new ArrayList<ContainerStatus>();
  statusList.add(status);
  NodeHealthStatus nodeHealth = NodeHealthStatus.newInstance(true,
      "", System.currentTimeMillis());
  NodeStatus nodeStatus = NodeStatus.newInstance(nodeId, 0, statusList, null,
      nodeHealth, null, null, null);
  node.handle(new RMNodeStatusEvent(nodeId, nodeStatus, null));

  Assert.assertEquals(1, node.getRunningApps().size());

  // Finish an application
  ApplicationId finishedAppId = runningAppId;
  node.handle(new RMNodeCleanAppEvent(nodeId, finishedAppId));
  Assert.assertEquals(1, node.getAppsToCleanup().size());
  Assert.assertEquals(0, node.getRunningApps().size());
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:30,代码来源:TestRMNodeTransitions.java

示例8: transition

import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeCleanAppEvent; //导入依赖的package包/类
@SuppressWarnings("unchecked")
public void transition(RMAppImpl app, RMAppEvent event) {
  Set<NodeId> nodes = getNodesOnWhichAttemptRan(app);
  for (NodeId nodeId : nodes) {
    app.handler.handle(
        new RMNodeCleanAppEvent(nodeId, app.applicationId));
  }
  if (app.getState() != RMAppState.FINISHING) {
    app.finishTime = System.currentTimeMillis();
  }
  app.handler.handle(
      new RMAppManagerEvent(app.applicationId,
      RMAppManagerEventType.APP_COMPLETED));
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:15,代码来源:RMAppImpl.java

示例9: testUpdateHeartbeatResponseForAppLifeCycle

import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeCleanAppEvent; //导入依赖的package包/类
@Test(timeout=20000)
public void testUpdateHeartbeatResponseForAppLifeCycle() {
  RMNodeImpl node = getRunningNode();
  NodeId nodeId = node.getNodeID();

  ApplicationId runningAppId = BuilderUtils.newApplicationId(0, 1);
  rmContext.getRMApps().put(runningAppId, Mockito.mock(RMApp.class));
  // Create a running container
  ContainerId runningContainerId = BuilderUtils.newContainerId(
      BuilderUtils.newApplicationAttemptId(
      runningAppId, 0), 0);

  ContainerStatus status = ContainerStatus.newInstance(runningContainerId,
      ContainerState.RUNNING, "", 0);
  List<ContainerStatus> statusList = new ArrayList<ContainerStatus>();
  statusList.add(status);
  NodeHealthStatus nodeHealth = NodeHealthStatus.newInstance(true,
      "", System.currentTimeMillis());
  NodeStatus nodeStatus = NodeStatus.newInstance(nodeId, 0, statusList, null,
      nodeHealth, null, null, null);
  node.handle(new RMNodeStatusEvent(nodeId, nodeStatus, null));

  Assert.assertEquals(1, node.getRunningApps().size());

  // Finish an application
  ApplicationId finishedAppId = runningAppId;
  node.handle(new RMNodeCleanAppEvent(nodeId, finishedAppId));
  Assert.assertEquals(1, node.getAppsToCleanup().size());
  Assert.assertEquals(0, node.getRunningApps().size());
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:31,代码来源:TestRMNodeTransitions.java

示例10: testUpdateHeartbeatResponseForCleanup

import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNodeCleanAppEvent; //导入依赖的package包/类
@Test(timeout=200000)
public void testUpdateHeartbeatResponseForCleanup() throws Exception {
  RMNodeImpl node = getRunningNode();
  NodeId nodeId = node.getNodeID();

  // Expire a container
ContainerId completedContainerId = BuilderUtils.newContainerId(
		BuilderUtils.newApplicationAttemptId(
				BuilderUtils.newApplicationId(0, 0), 0), 0);
  node.handle(new RMNodeCleanContainerEvent(nodeId, completedContainerId));
  Assert.assertEquals(1, node.getContainersToCleanUp().size());
  //check DB
  Assert.assertEquals(1, DBUtilityTests.getAllContainersToCleanUp().size());
  Assert.assertEquals(1, DBUtilityTests.getAllContainersToCleanUp().get(node.getNodeID().toString()).size());
  Assert.assertEquals(1, DBUtilityTests.getAllNextHeartbeat().size());
  
  // Finish an application
  ApplicationId finishedAppId = BuilderUtils.newApplicationId(0, 1);
  node.handle(new RMNodeCleanAppEvent(nodeId, finishedAppId));
  Assert.assertEquals(1, node.getAppsToCleanup().size());

  Thread.sleep(500);
  //check DB
  Assert.assertEquals(1, DBUtilityTests.getAllAppsToCleanup().size());
  Assert.assertEquals(1, DBUtilityTests.getAllAppsToCleanup().get(node.getNodeID().toString()).size());
  
  // Verify status update does not clear containers/apps to cleanup
  // but updating heartbeat response for cleanup does
  RMNodeStatusEvent statusEvent = getMockRMNodeStatusEvent();
  node.handle(statusEvent);
  Assert.assertEquals(1, node.getContainersToCleanUp().size());
  Assert.assertEquals(1, node.getAppsToCleanup().size());
  //Check DB
  Assert.assertEquals(1, DBUtilityTests.getAllContainersToCleanUp().size());
  Assert.assertEquals(1, DBUtilityTests.getAllContainersToCleanUp().get(node.getNodeID().toString()).size());
  Assert.assertEquals(1, DBUtilityTests.getAllAppsToCleanup().size());
  Assert.assertEquals(1, DBUtilityTests.getAllAppsToCleanup().get(node.getNodeID().toString()).size());
  Assert.assertEquals(0, DBUtilityTests.getAllNextHeartbeat().size());
  
  NodeHeartbeatResponse hbrsp = Records.newRecord(NodeHeartbeatResponse.class);
  node.updateNodeHeartbeatResponseForCleanup(hbrsp);
  Assert.assertEquals(0, node.getContainersToCleanUp().size());
  Assert.assertEquals(0, node.getAppsToCleanup().size());
  Assert.assertEquals(1, hbrsp.getContainersToCleanup().size());
  Assert.assertEquals(completedContainerId, hbrsp.getContainersToCleanup().get(0));
  Assert.assertEquals(1, hbrsp.getApplicationsToCleanup().size());
  Assert.assertEquals(finishedAppId, hbrsp.getApplicationsToCleanup().get(0));
  //Check DB
  // DB operations are done asynchronously. Sleep for a while just to be sure
  Thread.sleep(100);
  Assert.assertEquals(0, DBUtilityTests.getAllContainersToCleanUp().size());
  Assert.assertEquals(0, DBUtilityTests.getAllAppsToCleanup().size());
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:54,代码来源:TestDistributedScheduler.java


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