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

Java ContainerKillEvent类代码示例

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

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



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

示例1: transition

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerKillEvent; //导入依赖的package包/类
@Override
public ApplicationState transition(ApplicationImpl app,
    ApplicationEvent event) {
  ApplicationFinishEvent appEvent = (ApplicationFinishEvent)event;
  if (app.containers.isEmpty()) {
    // No container to cleanup. Cleanup app level resources.
    app.handleAppFinishWithContainersCleanedup();
    return ApplicationState.APPLICATION_RESOURCES_CLEANINGUP;
  }

  // Send event to ContainersLauncher to finish all the containers of this
  // application.
  for (ContainerId containerID : app.containers.keySet()) {
    app.dispatcher.getEventHandler().handle(
        new ContainerKillEvent(containerID,
            ContainerExitStatus.KILLED_AFTER_APP_COMPLETION,
            "Container killed on application-finish event: " + appEvent.getDiagnostic()));
  }
  return ApplicationState.FINISHING_CONTAINERS_WAIT;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:21,代码来源:ApplicationImpl.java


示例2: transition

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerKillEvent; //导入依赖的package包/类
@Override
public ApplicationState transition(ApplicationImpl app,
    ApplicationEvent event) {

  if (app.containers.isEmpty()) {
    // No container to cleanup. Cleanup app level resources.
    app.handleAppFinishWithContainersCleanedup();
    return ApplicationState.APPLICATION_RESOURCES_CLEANINGUP;
  }

  // Send event to ContainersLauncher to finish all the containers of this
  // application.
  for (ContainerId containerID : app.containers.keySet()) {
    app.dispatcher.getEventHandler().handle(
        new ContainerKillEvent(containerID,
            "Container killed on application-finish event from RM."));
  }
  return ApplicationState.FINISHING_CONTAINERS_WAIT;
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:20,代码来源:ApplicationImpl.java


示例3: stopContainerInternal

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerKillEvent; //导入依赖的package包/类
@SuppressWarnings("unchecked")
private void stopContainerInternal(NMTokenIdentifier nmTokenIdentifier,
    ContainerId containerID) throws YarnException {
  String containerIDStr = containerID.toString();
  Container container = this.context.getContainers().get(containerID);
  LOG.info("Stopping container with container Id: " + containerIDStr);
  authorizeGetAndStopContainerRequest(containerID, container, true,
    nmTokenIdentifier);

  dispatcher.getEventHandler().handle(
    new ContainerKillEvent(containerID,
      "Container killed by the ApplicationMaster."));

  NMAuditLogger.logSuccess(container.getUser(),
    AuditConstants.STOP_CONTAINER, "ContainerManageImpl", containerID
      .getApplicationAttemptId().getApplicationId(), containerID);

  // TODO: Move this code to appropriate place once kill_container is
  // implemented.
  nodeStatusUpdater.sendOutofBandHeartBeat();
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:22,代码来源:ContainerManagerImpl.java


示例4: transition

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerKillEvent; //导入依赖的package包/类
@Override
public ApplicationState transition(ApplicationImpl app,
    ApplicationEvent event) {
  ApplicationFinishEvent appEvent = (ApplicationFinishEvent)event;
  if (app.containers.isEmpty()) {
    // No container to cleanup. Cleanup app level resources.
    app.handleAppFinishWithContainersCleanedup();
    return ApplicationState.APPLICATION_RESOURCES_CLEANINGUP;
  }

  // Send event to ContainersLauncher to finish all the containers of this
  // application.
  for (ContainerId containerID : app.containers.keySet()) {
    app.dispatcher.getEventHandler().handle(
        new ContainerKillEvent(containerID,
            "Container killed on application-finish event: " + appEvent.getDiagnostic()));
  }
  return ApplicationState.FINISHING_CONTAINERS_WAIT;
}
 
开发者ID:chendave,项目名称:hadoop-TCP,代码行数:20,代码来源:ApplicationImpl.java


示例5: stopContainerInternal

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerKillEvent; //导入依赖的package包/类
@SuppressWarnings("unchecked")
private void stopContainerInternal(NMTokenIdentifier nmTokenIdentifier,
    ContainerId containerID) throws YarnException, IOException {
  String containerIDStr = containerID.toString();
  Container container = this.context.getContainers().get(containerID);
  LOG.info("Stopping container with container Id: " + containerIDStr);
  authorizeGetAndStopContainerRequest(containerID, container, true,
    nmTokenIdentifier);

  if (container == null) {
    if (!nodeStatusUpdater.isContainerRecentlyStopped(containerID)) {
      throw RPCUtil.getRemoteException("Container " + containerIDStr
        + " is not handled by this NodeManager");
    }
  } else {
    context.getNMStateStore().storeContainerKilled(containerID);
    dispatcher.getEventHandler().handle(
      new ContainerKillEvent(containerID,
          ContainerExitStatus.KILLED_BY_APPMASTER,
          "Container killed by the ApplicationMaster."));

    NMAuditLogger.logSuccess(container.getUser(),    
      AuditConstants.STOP_CONTAINER, "ContainerManageImpl", containerID
        .getApplicationAttemptId().getApplicationId(), containerID);

    // TODO: Move this code to appropriate place once kill_container is
    // implemented.
    nodeStatusUpdater.sendOutofBandHeartBeat();
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:31,代码来源:ContainerManagerImpl.java


示例6: handle

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerKillEvent; //导入依赖的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


示例7: matches

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerKillEvent; //导入依赖的package包/类
@Override
public boolean matches(Object argument) {
  if (argument instanceof ContainerKillEvent) {
    ContainerKillEvent event = (ContainerKillEvent) argument;
    return event.getContainerID().equals(cId);
  }
  return false;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:9,代码来源:TestApplication.java


示例8: handle

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerKillEvent; //导入依赖的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


示例9: stopContainerInternal

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerKillEvent; //导入依赖的package包/类
@SuppressWarnings("unchecked")
private void stopContainerInternal(NMTokenIdentifier nmTokenIdentifier,
    ContainerId containerID) throws YarnException, IOException {
  String containerIDStr = containerID.toString();
  Container container = this.context.getContainers().get(containerID);
  LOG.info("Stopping container with container Id: " + containerIDStr);
  authorizeGetAndStopContainerRequest(containerID, container, true,
    nmTokenIdentifier);

  if (container == null) {
    if (!nodeStatusUpdater.isContainerRecentlyStopped(containerID)) {
      throw RPCUtil.getRemoteException("Container " + containerIDStr
        + " is not handled by this NodeManager");
    }
  } else {
    if (container.isRecovering()) {
      throw new NMNotYetReadyException("Container " + containerIDStr
          + " is recovering, try later");
    }
    context.getNMStateStore().storeContainerKilled(containerID);
    dispatcher.getEventHandler().handle(
      new ContainerKillEvent(containerID,
          ContainerExitStatus.KILLED_BY_APPMASTER,
          "Container killed by the ApplicationMaster."));

    NMAuditLogger.logSuccess(container.getUser(),    
      AuditConstants.STOP_CONTAINER, "ContainerManageImpl", containerID
        .getApplicationAttemptId().getApplicationId(), containerID);
  }
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:31,代码来源:ContainerManagerImpl.java


示例10: stopContainerInternal

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerKillEvent; //导入依赖的package包/类
@SuppressWarnings("unchecked")
private void stopContainerInternal(NMTokenIdentifier nmTokenIdentifier,
    ContainerId containerID) throws YarnException {
  String containerIDStr = containerID.toString();
  Container container = this.context.getContainers().get(containerID);
  LOG.info("Stopping container with container Id: " + containerIDStr);
  authorizeGetAndStopContainerRequest(containerID, container, true,
    nmTokenIdentifier);

  if (container == null) {
    if (!nodeStatusUpdater.isContainerRecentlyStopped(containerID)) {
      throw RPCUtil.getRemoteException("Container " + containerIDStr
        + " is not handled by this NodeManager");
    }
  } else {
    dispatcher.getEventHandler().handle(
      new ContainerKillEvent(containerID,
        "Container killed by the ApplicationMaster."));

    NMAuditLogger.logSuccess(container.getUser(),    
      AuditConstants.STOP_CONTAINER, "ContainerManageImpl", containerID
        .getApplicationAttemptId().getApplicationId(), containerID);

    // TODO: Move this code to appropriate place once kill_container is
    // implemented.
    nodeStatusUpdater.sendOutofBandHeartBeat();
  }
}
 
开发者ID:chendave,项目名称:hadoop-TCP,代码行数:29,代码来源:ContainerManagerImpl.java


示例11: handle

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerKillEvent; //导入依赖的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


示例12: handle

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerKillEvent; //导入依赖的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



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Java ConfigurableEffect类代码示例发布时间:2022-05-22
下一篇:
Java ResourceEvent类代码示例发布时间: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