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

Java CMgrCompletedAppsEvent类代码示例

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

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



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

示例1: handle

import org.apache.hadoop.yarn.server.nodemanager.CMgrCompletedAppsEvent; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public void handle(ContainerManagerEvent event) {
  switch (event.getType()) {
  case FINISH_APPS:
    CMgrCompletedAppsEvent appsFinishedEvent =
        (CMgrCompletedAppsEvent) event;
    for (ApplicationId appID : appsFinishedEvent.getAppsToCleanup()) {
      String diagnostic = "";
      if (appsFinishedEvent.getReason() == CMgrCompletedAppsEvent.Reason.ON_SHUTDOWN) {
        diagnostic = "Application killed on shutdown";
      } else if (appsFinishedEvent.getReason() == CMgrCompletedAppsEvent.Reason.BY_RESOURCEMANAGER) {
        diagnostic = "Application killed by ResourceManager";
      }
      try {
        this.context.getNMStateStore().storeFinishedApplication(appID);
      } catch (IOException e) {
        LOG.error("Unable to update application state in store", e);
      }
      this.dispatcher.getEventHandler().handle(
          new ApplicationFinishEvent(appID,
              diagnostic));
    }
    break;
  case FINISH_CONTAINERS:
    CMgrCompletedContainersEvent containersFinishedEvent =
        (CMgrCompletedContainersEvent) event;
    for (ContainerId container : containersFinishedEvent
        .getContainersToCleanup()) {
        this.dispatcher.getEventHandler().handle(
            new ContainerKillEvent(container,
                ContainerExitStatus.KILLED_BY_RESOURCEMANAGER,
                "Container Killed by ResourceManager"));
    }
    break;
  default:
      throw new YarnRuntimeException(
          "Got an unknown ContainerManagerEvent type: " + event.getType());
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:41,代码来源:ContainerManagerImpl.java


示例2: handle

import org.apache.hadoop.yarn.server.nodemanager.CMgrCompletedAppsEvent; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public void handle(ContainerManagerEvent event) {
  switch (event.getType()) {
  case FINISH_APPS:
    CMgrCompletedAppsEvent appsFinishedEvent =
        (CMgrCompletedAppsEvent) event;
    for (ApplicationId appID : appsFinishedEvent.getAppsToCleanup()) {
      this.dispatcher.getEventHandler().handle(
          new ApplicationFinishEvent(appID,
              "Application Killed by ResourceManager"));
    }
    break;
  case FINISH_CONTAINERS:
    CMgrCompletedContainersEvent containersFinishedEvent =
        (CMgrCompletedContainersEvent) event;
    for (ContainerId container : containersFinishedEvent
        .getContainersToCleanup()) {
      String diagnostic = "";
      if (containersFinishedEvent.getReason() == 
          CMgrCompletedContainersEvent.Reason.ON_SHUTDOWN) {
        diagnostic = "Container Killed on Shutdown";
      } else if (containersFinishedEvent.getReason() == 
          CMgrCompletedContainersEvent.Reason.BY_RESOURCEMANAGER) {
        diagnostic = "Container Killed by ResourceManager";
      }
      this.dispatcher.getEventHandler().handle(
          new ContainerKillEvent(container, diagnostic));
    }
    break;
  default:
    LOG.warn("Invalid event " + event.getType() + ". Ignoring.");
  }
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:35,代码来源:ContainerManagerImpl.java


示例3: cleanUpApplicationsOnNMShutDown

import org.apache.hadoop.yarn.server.nodemanager.CMgrCompletedAppsEvent; //导入依赖的package包/类
public void cleanUpApplicationsOnNMShutDown() {
  Map<ApplicationId, Application> applications =
      this.context.getApplications();
  if (applications.isEmpty()) {
    return;
  }
  LOG.info("Applications still running : " + applications.keySet());

  List<ApplicationId> appIds =
      new ArrayList<ApplicationId>(applications.keySet());
  this.handle(
      new CMgrCompletedAppsEvent(appIds,
          CMgrCompletedAppsEvent.Reason.ON_SHUTDOWN));

  LOG.info("Waiting for Applications to be Finished");

  long waitStartTime = System.currentTimeMillis();
  while (!applications.isEmpty()
      && System.currentTimeMillis() - waitStartTime < waitForContainersOnShutdownMillis) {
    try {
      Thread.sleep(1000);
    } catch (InterruptedException ex) {
      LOG.warn(
        "Interrupted while sleeping on applications finish on shutdown", ex);
    }
  }

  // All applications Finished
  if (applications.isEmpty()) {
    LOG.info("All applications in FINISHED state");
  } else {
    LOG.info("Done waiting for Applications to be Finished. Still alive: " +
        applications.keySet());
  }
}
 
开发者ID:chendave,项目名称:hadoop-TCP,代码行数:36,代码来源:ContainerManagerImpl.java


示例4: handle

import org.apache.hadoop.yarn.server.nodemanager.CMgrCompletedAppsEvent; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public void handle(ContainerManagerEvent event) {
  switch (event.getType()) {
  case FINISH_APPS:
    CMgrCompletedAppsEvent appsFinishedEvent =
        (CMgrCompletedAppsEvent) event;
    for (ApplicationId appID : appsFinishedEvent.getAppsToCleanup()) {
      String diagnostic = "";
      if (appsFinishedEvent.getReason() == CMgrCompletedAppsEvent.Reason.ON_SHUTDOWN) {
        diagnostic = "Application killed on shutdown";
      } else if (appsFinishedEvent.getReason() == CMgrCompletedAppsEvent.Reason.BY_RESOURCEMANAGER) {
        diagnostic = "Application killed by ResourceManager";
      }
      this.dispatcher.getEventHandler().handle(
          new ApplicationFinishEvent(appID,
              diagnostic));
    }
    break;
  case FINISH_CONTAINERS:
    CMgrCompletedContainersEvent containersFinishedEvent =
        (CMgrCompletedContainersEvent) event;
    for (ContainerId container : containersFinishedEvent
        .getContainersToCleanup()) {
        this.dispatcher.getEventHandler().handle(
            new ContainerKillEvent(container,
                "Container Killed by ResourceManager"));
    }
    break;
  default:
      throw new YarnRuntimeException(
          "Got an unknown ContainerManagerEvent type: " + event.getType());
  }
}
 
开发者ID:chendave,项目名称:hadoop-TCP,代码行数:35,代码来源:ContainerManagerImpl.java


示例5: cleanUpApplicationsOnNMShutDown

import org.apache.hadoop.yarn.server.nodemanager.CMgrCompletedAppsEvent; //导入依赖的package包/类
public void cleanUpApplicationsOnNMShutDown() {
  Map<ApplicationId, Application> applications =
      this.context.getApplications();
  if (applications.isEmpty()) {
    return;
  }
  LOG.info("Applications still running : " + applications.keySet());

  if (this.context.getNMStateStore().canRecover()
      && !this.context.getDecommissioned()) {
    // do not cleanup apps as they can be recovered on restart
    return;
  }

  List<ApplicationId> appIds =
      new ArrayList<ApplicationId>(applications.keySet());
  this.handle(
      new CMgrCompletedAppsEvent(appIds,
          CMgrCompletedAppsEvent.Reason.ON_SHUTDOWN));

  LOG.info("Waiting for Applications to be Finished");

  long waitStartTime = System.currentTimeMillis();
  while (!applications.isEmpty()
      && System.currentTimeMillis() - waitStartTime < waitForContainersOnShutdownMillis) {
    try {
      Thread.sleep(1000);
    } catch (InterruptedException ex) {
      LOG.warn(
        "Interrupted while sleeping on applications finish on shutdown", ex);
    }
  }

  // All applications Finished
  if (applications.isEmpty()) {
    LOG.info("All applications in FINISHED state");
  } else {
    LOG.info("Done waiting for Applications to be Finished. Still alive: " +
        applications.keySet());
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:42,代码来源:ContainerManagerImpl.java


示例6: testLogAggregationForRealContainerLaunch

import org.apache.hadoop.yarn.server.nodemanager.CMgrCompletedAppsEvent; //导入依赖的package包/类
@Test
public void testLogAggregationForRealContainerLaunch() throws IOException,
    InterruptedException, YarnException {

  this.containerManager.start();


  File scriptFile = new File(tmpDir, "scriptFile.sh");
  PrintWriter fileWriter = new PrintWriter(scriptFile);
  fileWriter.write("\necho Hello World! Stdout! > "
      + new File(localLogDir, "stdout"));
  fileWriter.write("\necho Hello World! Stderr! > "
      + new File(localLogDir, "stderr"));
  fileWriter.write("\necho Hello World! Syslog! > "
      + new File(localLogDir, "syslog"));
  fileWriter.close();

  ContainerLaunchContext containerLaunchContext =
      recordFactory.newRecordInstance(ContainerLaunchContext.class);
  // ////// Construct the Container-id
  ApplicationId appId = ApplicationId.newInstance(0, 0);
  ApplicationAttemptId appAttemptId =
      BuilderUtils.newApplicationAttemptId(appId, 1);
  ContainerId cId = BuilderUtils.newContainerId(appAttemptId, 0);

  URL resource_alpha =
      ConverterUtils.getYarnUrlFromPath(localFS
          .makeQualified(new Path(scriptFile.getAbsolutePath())));
  LocalResource rsrc_alpha =
      recordFactory.newRecordInstance(LocalResource.class);
  rsrc_alpha.setResource(resource_alpha);
  rsrc_alpha.setSize(-1);
  rsrc_alpha.setVisibility(LocalResourceVisibility.APPLICATION);
  rsrc_alpha.setType(LocalResourceType.FILE);
  rsrc_alpha.setTimestamp(scriptFile.lastModified());
  String destinationFile = "dest_file";
  Map<String, LocalResource> localResources = 
      new HashMap<String, LocalResource>();
  localResources.put(destinationFile, rsrc_alpha);
  containerLaunchContext.setLocalResources(localResources);
  List<String> commands = new ArrayList<String>();
  commands.add("/bin/bash");
  commands.add(scriptFile.getAbsolutePath());
  containerLaunchContext.setCommands(commands);

  StartContainerRequest scRequest =
      StartContainerRequest.newInstance(containerLaunchContext,
        TestContainerManager.createContainerToken(
          cId, DUMMY_RM_IDENTIFIER, context.getNodeId(), user,
          context.getContainerTokenSecretManager()));
  List<StartContainerRequest> list = new ArrayList<StartContainerRequest>();
  list.add(scRequest);
  StartContainersRequest allRequests =
      StartContainersRequest.newInstance(list);
  this.containerManager.startContainers(allRequests);
  
  BaseContainerManagerTest.waitForContainerState(this.containerManager,
      cId, ContainerState.COMPLETE);

  this.containerManager.handle(new CMgrCompletedAppsEvent(Arrays
      .asList(appId), CMgrCompletedAppsEvent.Reason.ON_SHUTDOWN));
  this.containerManager.stop();
}
 
开发者ID:naver,项目名称:hadoop,代码行数:64,代码来源:TestLogAggregationService.java


示例7: cleanUpApplicationsOnNMShutDown

import org.apache.hadoop.yarn.server.nodemanager.CMgrCompletedAppsEvent; //导入依赖的package包/类
public void cleanUpApplicationsOnNMShutDown() {
  Map<ApplicationId, Application> applications =
      this.context.getApplications();
  if (applications.isEmpty()) {
    return;
  }
  LOG.info("Applications still running : " + applications.keySet());

  if (this.context.getNMStateStore().canRecover()
      && !this.context.getDecommissioned()) {
    if (getConfig().getBoolean(YarnConfiguration.NM_RECOVERY_SUPERVISED,
        YarnConfiguration.DEFAULT_NM_RECOVERY_SUPERVISED)) {
      // do not cleanup apps as they can be recovered on restart
      return;
    }
  }

  List<ApplicationId> appIds =
      new ArrayList<ApplicationId>(applications.keySet());
  this.handle(new CMgrCompletedAppsEvent(appIds,
          CMgrCompletedAppsEvent.Reason.ON_SHUTDOWN));

  LOG.info("Waiting for Applications to be Finished");

  long waitStartTime = System.currentTimeMillis();
  while (!applications.isEmpty()
      && System.currentTimeMillis() - waitStartTime < waitForContainersOnShutdownMillis) {
    try {
      Thread.sleep(1000);
    } catch (InterruptedException ex) {
      LOG.warn(
        "Interrupted while sleeping on applications finish on shutdown", ex);
    }
  }

  // All applications Finished
  if (applications.isEmpty()) {
    LOG.info("All applications in FINISHED state");
  } else {
    LOG.info("Done waiting for Applications to be Finished. Still alive: "
        + applications.keySet());
  }
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:44,代码来源:ContainerManagerImpl.java


示例8: handle

import org.apache.hadoop.yarn.server.nodemanager.CMgrCompletedAppsEvent; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public void handle(ContainerManagerEvent event) {
  switch (event.getType()) {
  case FINISH_APPS:
    CMgrCompletedAppsEvent appsFinishedEvent =
        (CMgrCompletedAppsEvent) event;
    for (ApplicationId appID : appsFinishedEvent.getAppsToCleanup()) {
      String diagnostic = "";
      if (appsFinishedEvent.getReason() == CMgrCompletedAppsEvent.Reason.ON_SHUTDOWN) {
        diagnostic = "Application killed on shutdown";
      } else if (appsFinishedEvent.getReason() == CMgrCompletedAppsEvent.Reason.BY_RESOURCEMANAGER) {
        diagnostic = "Application killed by ResourceManager";
      }
      try {
        this.context.getNMStateStore().storeFinishedApplication(appID);
      } catch (IOException e) {
        LOG.error("Unable to update application state in store", e);
      }
      this.dispatcher.getEventHandler().handle(
          new ApplicationFinishEvent(appID,
              diagnostic));
    }
    break;
  case FINISH_CONTAINERS:
    CMgrCompletedContainersEvent containersFinishedEvent =
        (CMgrCompletedContainersEvent) event;
    for (ContainerId container : containersFinishedEvent
        .getContainersToCleanup()) {
        this.dispatcher.getEventHandler().handle(
            new ContainerKillEvent(container,
                ContainerExitStatus.KILLED_BY_RESOURCEMANAGER,
                "Container Killed by ResourceManager"));
    }
    break;
  case UPDATE_CONTAINERS:
  	LOG.info("get containerUpdateEvents");
  	CMgrUpdateContainersEvent containerUpdateEvents =
  			(CMgrUpdateContainersEvent) event;
  	for(NodeContainerUpdate containerUpdate : containerUpdateEvents.getNodeContainerUpdate()){
  		this.dispatcher.getEventHandler().handle(
  			new ContainerResourceUpdate(containerUpdate.getContainerId(),containerUpdate));
  	}
  	break;
  default:
      throw new YarnRuntimeException(
          "Got an unknown ContainerManagerEvent type: " + event.getType());
  }
}
 
开发者ID:yncxcw,项目名称:big-c,代码行数:50,代码来源:ContainerManagerImpl.java


示例9: testLogAggregationForRealContainerLaunch

import org.apache.hadoop.yarn.server.nodemanager.CMgrCompletedAppsEvent; //导入依赖的package包/类
@Test
public void testLogAggregationForRealContainerLaunch() throws IOException,
    InterruptedException, YarnException {

  this.containerManager.start();


  File scriptFile = new File(tmpDir, "scriptFile.sh");
  PrintWriter fileWriter = new PrintWriter(scriptFile);
  fileWriter.write("\necho Hello World! Stdout! > "
      + new File(localLogDir, "stdout"));
  fileWriter.write("\necho Hello World! Stderr! > "
      + new File(localLogDir, "stderr"));
  fileWriter.write("\necho Hello World! Syslog! > "
      + new File(localLogDir, "syslog"));
  fileWriter.close();

  ContainerLaunchContext containerLaunchContext =
      recordFactory.newRecordInstance(ContainerLaunchContext.class);
  // ////// Construct the Container-id
  ApplicationId appId = ApplicationId.newInstance(0, 0);
  ApplicationAttemptId appAttemptId =
      BuilderUtils.newApplicationAttemptId(appId, 1);
  ContainerId cId = BuilderUtils.newContainerId(appAttemptId, 0);

  URL resource_alpha =
      ConverterUtils.getYarnUrlFromPath(localFS
          .makeQualified(new Path(scriptFile.getAbsolutePath())));
  LocalResource rsrc_alpha =
      recordFactory.newRecordInstance(LocalResource.class);
  rsrc_alpha.setResource(resource_alpha);
  rsrc_alpha.setSize(-1);
  rsrc_alpha.setVisibility(LocalResourceVisibility.APPLICATION);
  rsrc_alpha.setType(LocalResourceType.FILE);
  rsrc_alpha.setTimestamp(scriptFile.lastModified());
  String destinationFile = "dest_file";
  Map<String, LocalResource> localResources = 
      new HashMap<String, LocalResource>();
  localResources.put(destinationFile, rsrc_alpha);
  containerLaunchContext.setLocalResources(localResources);
  List<String> commands = new ArrayList<String>();
  commands.add("/bin/bash");
  commands.add(scriptFile.getAbsolutePath());
  containerLaunchContext.setCommands(commands);

  StartContainerRequest scRequest =
      StartContainerRequest.newInstance(containerLaunchContext,
        TestContainerManager.createContainerToken(
          cId, DUMMY_RM_IDENTIFIER, context.getNodeId(), user,
          context.getContainerTokenSecretManager()));
  List<StartContainerRequest> list = new ArrayList<StartContainerRequest>();
  list.add(scRequest);
  StartContainersRequest allRequests =
      StartContainersRequest.newInstance(list);
  this.containerManager.startContainers(allRequests);
  
  BaseContainerManagerTest.waitForContainerState(this.containerManager,
      cId, ContainerState.COMPLETE);

  this.containerManager.handle(new CMgrCompletedAppsEvent(Arrays
      .asList(appId)));
  this.containerManager.stop();
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:64,代码来源:TestLogAggregationService.java


示例10: testLogAggregationForRealContainerLaunch

import org.apache.hadoop.yarn.server.nodemanager.CMgrCompletedAppsEvent; //导入依赖的package包/类
@Test
public void testLogAggregationForRealContainerLaunch() throws IOException,
    InterruptedException, YarnException {

  this.containerManager.start();


  File scriptFile = new File(tmpDir, "scriptFile.sh");
  PrintWriter fileWriter = new PrintWriter(scriptFile);
  File userFold = new File(localLogDir, userFolder);
  fileWriter.write("\necho Hello World! Stdout! > "
      + new File(userFold, "stdout"));
  fileWriter.write("\necho Hello World! Stderr! > "
      + new File(userFold, "stderr"));
  fileWriter.write("\necho Hello World! Syslog! > "
      + new File(userFold, "syslog"));
  fileWriter.close();

  ContainerLaunchContext containerLaunchContext =
      recordFactory.newRecordInstance(ContainerLaunchContext.class);
  // ////// Construct the Container-id
  ApplicationId appId = ApplicationId.newInstance(0, 0);
  ApplicationAttemptId appAttemptId =
      BuilderUtils.newApplicationAttemptId(appId, 1);
  ContainerId cId = BuilderUtils.newContainerId(appAttemptId, 0);

  URL resource_alpha =
      URL.fromPath(localFS
          .makeQualified(new Path(scriptFile.getAbsolutePath())));
  LocalResource rsrc_alpha =
      recordFactory.newRecordInstance(LocalResource.class);
  rsrc_alpha.setResource(resource_alpha);
  rsrc_alpha.setSize(-1);
  rsrc_alpha.setVisibility(LocalResourceVisibility.APPLICATION);
  rsrc_alpha.setType(LocalResourceType.FILE);
  rsrc_alpha.setTimestamp(scriptFile.lastModified());
  String destinationFile = "dest_file";
  Map<String, LocalResource> localResources = 
      new HashMap<String, LocalResource>();
  localResources.put(destinationFile, rsrc_alpha);
  containerLaunchContext.setLocalResources(localResources);
  List<String> commands = new ArrayList<String>();
  commands.add("/bin/bash");
  commands.add(scriptFile.getAbsolutePath());
  containerLaunchContext.setCommands(commands);

  StartContainerRequest scRequest =
      StartContainerRequest.newInstance(containerLaunchContext,
        TestContainerManager.createContainerToken(
          cId, DUMMY_RM_IDENTIFIER, context.getNodeId(), user,
          context.getContainerTokenSecretManager(), userFolder));
  List<StartContainerRequest> list = new ArrayList<StartContainerRequest>();
  list.add(scRequest);
  StartContainersRequest allRequests =
      StartContainersRequest.newInstance(list);
  this.containerManager.startContainers(allRequests);
  
  BaseContainerManagerTest.waitForContainerState(this.containerManager,
      cId, ContainerState.COMPLETE);

  this.containerManager.handle(new CMgrCompletedAppsEvent(Arrays
      .asList(appId), CMgrCompletedAppsEvent.Reason.ON_SHUTDOWN));
  this.containerManager.stop();
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:65,代码来源:TestLogAggregationService.java



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

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

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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