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

Java ContainerEvent类代码示例

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

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



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

示例1: handle

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerEvent; //导入依赖的package包/类
public void handle(ContainerEvent event) {
  if (event instanceof ContainerExitEvent) {
    containerExitEventOccured = true;
    ContainerExitEvent exitEvent = (ContainerExitEvent) event;
    Assert.assertEquals(ContainerEventType.CONTAINER_EXITED_WITH_FAILURE,
        exitEvent.getType());
    LOG.info("Diagnostic Info : " + exitEvent.getDiagnosticInfo());
    if (testForMultiFile) {
      Assert.assertTrue("Should contain the Multi file information",
          exitEvent.getDiagnosticInfo().contains("Error files : "));
    }
    Assert.assertTrue(
        "Should contain the error Log message with tail size info",
        exitEvent.getDiagnosticInfo()
            .contains("Last "
                + YarnConfiguration.DEFAULT_NM_CONTAINER_STDERR_BYTES
                + " bytes of"));
    Assert.assertTrue("Should contain contents of error Log",
        exitEvent.getDiagnosticInfo().contains(
            INVALID_JAVA_HOME + "/bin/java: No such file or directory"));
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:23,代码来源:TestContainerLaunch.java


示例2: createContainersLauncher

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerEvent; //导入依赖的package包/类
@Override
@SuppressWarnings("unchecked")
protected ContainersLauncher createContainersLauncher(Context context,
    ContainerExecutor exec) {
  return new ContainersLauncher(context, super.dispatcher, exec,
                                super.dirsHandler, this) {
    @Override
    public void handle(ContainersLauncherEvent event) {
      Container container = event.getContainer();
      ContainerId containerId = container.getContainerId();
      switch (event.getType()) {
      case LAUNCH_CONTAINER:
        dispatcher.getEventHandler().handle(
            new ContainerEvent(containerId,
                ContainerEventType.CONTAINER_LAUNCHED));
        break;
      case CLEANUP_CONTAINER:
        dispatcher.getEventHandler().handle(
            new ContainerExitEvent(containerId,
                ContainerEventType.CONTAINER_KILLED_ON_REQUEST, 0,
                "Container exited with exit code 0."));
        break;
      }
    }
  };
}
 
开发者ID:naver,项目名称:hadoop,代码行数:27,代码来源:DummyContainerManager.java


示例3: handle

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerEvent; //导入依赖的package包/类
public void handle(ContainerEvent event) {
  if (event instanceof ContainerExitEvent) {
    containerExitEventOccured = true;
    ContainerExitEvent exitEvent = (ContainerExitEvent) event;
    Assert.assertEquals(ContainerEventType.CONTAINER_EXITED_WITH_FAILURE,
        exitEvent.getType());
    LOG.info("Diagnostic Info : " + exitEvent.getDiagnosticInfo());
    if (testForMultiFile) {
      Assert.assertTrue("Should contain the Multi file information",
          exitEvent.getDiagnosticInfo().contains("Error files: "));
    }
    Assert.assertTrue(
        "Should contain the error Log message with tail size info",
        exitEvent.getDiagnosticInfo()
            .contains("Last "
                + YarnConfiguration.DEFAULT_NM_CONTAINER_STDERR_BYTES
                + " bytes of"));
    Assert.assertTrue("Should contain contents of error Log",
        exitEvent.getDiagnosticInfo().contains(
            INVALID_JAVA_HOME + "/bin/java: No such file or directory"));
  }
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:23,代码来源:TestContainerLaunch.java


示例4: createContainersLauncher

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerEvent; //导入依赖的package包/类
@Override
@SuppressWarnings("unchecked")
protected ContainersLauncher createContainersLauncher(Context context,
    ContainerExecutor exec) {
  return new ContainersLauncher(context, super.dispatcher, exec,
                                super.dirsHandler) {
    @Override
    public void handle(ContainersLauncherEvent event) {
      Container container = event.getContainer();
      ContainerId containerId = container.getContainerId();
      switch (event.getType()) {
      case LAUNCH_CONTAINER:
        dispatcher.getEventHandler().handle(
            new ContainerEvent(containerId,
                ContainerEventType.CONTAINER_LAUNCHED));
        break;
      case CLEANUP_CONTAINER:
        dispatcher.getEventHandler().handle(
            new ContainerExitEvent(containerId,
                ContainerEventType.CONTAINER_KILLED_ON_REQUEST, 0,
                "Container exited with exit code 0."));
        break;
      }
    }
  };
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:27,代码来源:DummyContainerManager.java


示例5: handle

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerEvent; //导入依赖的package包/类
@Override
public void handle(ContainerEvent event) {
  Map<ContainerId,Container> containers =
    ContainerManagerImpl.this.context.getContainers();
  Container c = containers.get(event.getContainerID());
  if (c != null) {
    c.handle(event);
  } else {
    LOG.warn("Event " + event + " sent to absent container " +
        event.getContainerID());
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:13,代码来源:ContainerManagerImpl.java


示例6: handle

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerEvent; //导入依赖的package包/类
@Override
public void handle(ContainerEvent event) {
  if (event.getType() == ContainerEventType.KILL_CONTAINER) {
    synchronized (killedContainer) {
      killedContainer.add(event.getContainerID());
    }
  }
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:9,代码来源:TestContainersMonitorResourceChange.java


示例7: handleCleanupContainerResources

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerEvent; //导入依赖的package包/类
@SuppressWarnings("unchecked")
private void handleCleanupContainerResources(
    ContainerLocalizationCleanupEvent rsrcCleanup) {
  Container c = rsrcCleanup.getContainer();
  Map<LocalResourceVisibility, Collection<LocalResourceRequest>> rsrcs =
    rsrcCleanup.getResources();
  for (Map.Entry<LocalResourceVisibility, Collection<LocalResourceRequest>> e :
       rsrcs.entrySet()) {
    LocalResourcesTracker tracker = getLocalResourcesTracker(e.getKey(), c.getUser(), 
        c.getContainerId().getApplicationAttemptId()
        .getApplicationId());
    for (LocalResourceRequest req : e.getValue()) {
      tracker.handle(new ResourceReleaseEvent(req,
          c.getContainerId()));
    }
  }
  String locId = ConverterUtils.toString(c.getContainerId());
  localizerTracker.cleanupPrivLocalizers(locId);
  
  // Delete the container directories
  String userName = c.getUser();
  String containerIDStr = c.toString();
  String appIDStr = ConverterUtils.toString(
      c.getContainerId().getApplicationAttemptId().getApplicationId());
  
  // Try deleting from good local dirs and full local dirs because a dir might
  // have gone bad while the app was running(disk full). In addition
  // a dir might have become good while the app was running.
  // Check if the container dir exists and if it does, try to delete it

  for (String localDir : dirsHandler.getLocalDirsForCleanup()) {
    // Delete the user-owned container-dir
    Path usersdir = new Path(localDir, ContainerLocalizer.USERCACHE);
    Path userdir = new Path(usersdir, userName);
    Path allAppsdir = new Path(userdir, ContainerLocalizer.APPCACHE);
    Path appDir = new Path(allAppsdir, appIDStr);
    Path containerDir = new Path(appDir, containerIDStr);
    submitDirForDeletion(userName, containerDir);

    // Delete the nmPrivate container-dir

    Path sysDir = new Path(localDir, NM_PRIVATE_DIR);
    Path appSysDir = new Path(sysDir, appIDStr);
    Path containerSysDir = new Path(appSysDir, containerIDStr);
    submitDirForDeletion(null, containerSysDir);
  }

  dispatcher.getEventHandler().handle(
      new ContainerEvent(c.getContainerId(),
          ContainerEventType.CONTAINER_RESOURCES_CLEANEDUP));
}
 
开发者ID:naver,项目名称:hadoop,代码行数:52,代码来源:ResourceLocalizationService.java


示例8: handle

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerEvent; //导入依赖的package包/类
@Override
public void handle(ContainerEvent event) {
}
 
开发者ID:naver,项目名称:hadoop,代码行数:4,代码来源:MockContainer.java


示例9: matches

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerEvent; //导入依赖的package包/类
@Override
public boolean matches(Object o) {
  if (!(o instanceof ContainerEvent)) return false;
  ContainerEvent evt = (ContainerEvent) o;
  return idRef == evt.getContainerID() && type == evt.getType();
}
 
开发者ID:naver,项目名称:hadoop,代码行数:7,代码来源:TestLocalizedResource.java


示例10: testLocalizerRunnerException

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerEvent; //导入依赖的package包/类
@Test( timeout = 10000)
@SuppressWarnings("unchecked") // mocked generics
public void testLocalizerRunnerException() throws Exception {
  DrainDispatcher dispatcher = new DrainDispatcher();
  dispatcher.init(conf);
  dispatcher.start();
  EventHandler<ApplicationEvent> applicationBus = mock(EventHandler.class);
  dispatcher.register(ApplicationEventType.class, applicationBus);
  EventHandler<ContainerEvent> containerBus = mock(EventHandler.class);
  dispatcher.register(ContainerEventType.class, containerBus);

  ContainerExecutor exec = mock(ContainerExecutor.class);
  LocalDirsHandlerService dirsHandler = new LocalDirsHandlerService();
  LocalDirsHandlerService dirsHandlerSpy = spy(dirsHandler);
  dirsHandlerSpy.init(conf);

  DeletionService delServiceReal = new DeletionService(exec);
  DeletionService delService = spy(delServiceReal);
  delService.init(new Configuration());
  delService.start();

  ResourceLocalizationService rawService =
      new ResourceLocalizationService(dispatcher, exec, delService,
      dirsHandlerSpy, nmContext);
  ResourceLocalizationService spyService = spy(rawService);
  doReturn(mockServer).when(spyService).createServer();
  try {
    spyService.init(conf);
    spyService.start();

    // init application
    final Application app = mock(Application.class);
    final ApplicationId appId =
        BuilderUtils.newApplicationId(314159265358979L, 3);
    when(app.getUser()).thenReturn("user0");
    when(app.getAppId()).thenReturn(appId);
    spyService.handle(new ApplicationLocalizationEvent(
        LocalizationEventType.INIT_APPLICATION_RESOURCES, app));
    dispatcher.await();

    Random r = new Random();
    long seed = r.nextLong();
    System.out.println("SEED: " + seed);
    r.setSeed(seed);
    final Container c = getMockContainer(appId, 42, "user0");
    final LocalResource resource1 = getPrivateMockedResource(r);
    System.out.println("Here 4");
    
    final LocalResourceRequest req1 = new LocalResourceRequest(resource1);
    Map<LocalResourceVisibility, Collection<LocalResourceRequest>> rsrcs =
      new HashMap<LocalResourceVisibility, 
                  Collection<LocalResourceRequest>>();
    List<LocalResourceRequest> privateResourceList =
        new ArrayList<LocalResourceRequest>();
    privateResourceList.add(req1);
    rsrcs.put(LocalResourceVisibility.PRIVATE, privateResourceList);

    final Constructor<?>[] constructors =
        FSError.class.getDeclaredConstructors();
    constructors[0].setAccessible(true);
    FSError fsError =
        (FSError) constructors[0].newInstance(new IOException("Disk Error"));

    Mockito
      .doThrow(fsError)
      .when(dirsHandlerSpy)
      .getLocalPathForWrite(isA(String.class));
    spyService.handle(new ContainerLocalizationRequestEvent(c, rsrcs));
    Thread.sleep(1000);
    dispatcher.await();
    // Verify if ContainerResourceFailedEvent is invoked on FSError
    verify(containerBus).handle(isA(ContainerResourceFailedEvent.class));
  } finally {
    spyService.stop();
    dispatcher.stop();
    delService.stop();
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:79,代码来源:TestResourceLocalizationService.java


示例11: createResourceLocalizationService

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerEvent; //导入依赖的package包/类
@Override
@SuppressWarnings("unchecked")
protected ResourceLocalizationService createResourceLocalizationService(
    ContainerExecutor exec, DeletionService deletionContext, Context context) {
  return new ResourceLocalizationService(super.dispatcher, exec,
      deletionContext, super.dirsHandler, context) {
    @Override
    public void handle(LocalizationEvent event) {
      switch (event.getType()) {
      case INIT_APPLICATION_RESOURCES:
        Application app =
            ((ApplicationLocalizationEvent) event).getApplication();
        // Simulate event from ApplicationLocalization.
        dispatcher.getEventHandler().handle(new ApplicationInitedEvent(
              app.getAppId()));
        break;
      case INIT_CONTAINER_RESOURCES:
        ContainerLocalizationRequestEvent rsrcReqs =
          (ContainerLocalizationRequestEvent) event;
        // simulate localization of all requested resources
          for (Collection<LocalResourceRequest> rc : rsrcReqs
              .getRequestedResources().values()) {
            for (LocalResourceRequest req : rc) {
              LOG.info("DEBUG: " + req + ":"
                  + rsrcReqs.getContainer().getContainerId());
              dispatcher.getEventHandler().handle(
                  new ContainerResourceLocalizedEvent(rsrcReqs.getContainer()
                      .getContainerId(), req, new Path("file:///local"
                      + req.getPath().toUri().getPath())));
            }
          }
        break;
      case CLEANUP_CONTAINER_RESOURCES:
        Container container =
            ((ContainerLocalizationEvent) event).getContainer();
        // TODO: delete the container dir
        this.dispatcher.getEventHandler().handle(
            new ContainerEvent(container.getContainerId(),
                ContainerEventType.CONTAINER_RESOURCES_CLEANEDUP));
        break;
      case DESTROY_APPLICATION_RESOURCES:
        Application application =
          ((ApplicationLocalizationEvent) event).getApplication();

        // decrement reference counts of all resources associated with this
        // app
        this.dispatcher.getEventHandler().handle(
            new ApplicationEvent(application.getAppId(),
                ApplicationEventType.APPLICATION_RESOURCES_CLEANEDUP));
        break;
      default:
        fail("Unexpected event: " + event.getType());
      }
    }
  };
}
 
开发者ID:naver,项目名称:hadoop,代码行数:57,代码来源:DummyContainerManager.java



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

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