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

Java ContainerExitEvent类代码示例

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

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



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

示例1: handle

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

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerExitEvent; //导入依赖的package包/类
@SuppressWarnings("rawtypes")
@Test (timeout = 10000)
public void testCallFailureWithNullLocalizedResources() {
  Container container = mock(Container.class);
  when(container.getContainerId()).thenReturn(ContainerId.newContainerId(
      ApplicationAttemptId.newInstance(ApplicationId.newInstance(
          System.currentTimeMillis(), 1), 1), 1));
  ContainerLaunchContext clc = mock(ContainerLaunchContext.class);
  when(clc.getCommands()).thenReturn(Collections.<String>emptyList());
  when(container.getLaunchContext()).thenReturn(clc);
  when(container.getLocalizedResources()).thenReturn(null);
  Dispatcher dispatcher = mock(Dispatcher.class);
  EventHandler eventHandler = new EventHandler() {
    public void handle(Event event) {
      Assert.assertTrue(event instanceof ContainerExitEvent);
      ContainerExitEvent exitEvent = (ContainerExitEvent) event;
      Assert.assertEquals(ContainerEventType.CONTAINER_EXITED_WITH_FAILURE,
          exitEvent.getType());
    }
  };
  when(dispatcher.getEventHandler()).thenReturn(eventHandler);
  ContainerLaunch launch = new ContainerLaunch(context, new Configuration(),
      dispatcher, exec, null, container, dirsHandler, containerManager);
  launch.call();
}
 
开发者ID:naver,项目名称:hadoop,代码行数:26,代码来源:TestContainerLaunch.java


示例3: createContainersLauncher

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


示例4: handle

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


示例5: createContainersLauncher

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


示例6: testCallFailureWithNullLocalizedResources

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerExitEvent; //导入依赖的package包/类
@SuppressWarnings("rawtypes")
@Test
public void testCallFailureWithNullLocalizedResources() {
  Container container = mock(Container.class);
  when(container.getContainerId()).thenReturn(ContainerId.newInstance(
      ApplicationAttemptId.newInstance(ApplicationId.newInstance(
          System.currentTimeMillis(), 1), 1), 1));
  ContainerLaunchContext clc = mock(ContainerLaunchContext.class);
  when(clc.getCommands()).thenReturn(Collections.<String>emptyList());
  when(container.getLaunchContext()).thenReturn(clc);
  when(container.getLocalizedResources()).thenReturn(null);
  Dispatcher dispatcher = mock(Dispatcher.class);
  EventHandler eventHandler = new EventHandler() {
    public void handle(Event event) {
      Assert.assertTrue(event instanceof ContainerExitEvent);
      ContainerExitEvent exitEvent = (ContainerExitEvent) event;
      Assert.assertEquals(ContainerEventType.CONTAINER_EXITED_WITH_FAILURE,
          exitEvent.getType());
    }
  };
  when(dispatcher.getEventHandler()).thenReturn(eventHandler);
  ContainerLaunch launch = new ContainerLaunch(context, new Configuration(),
      dispatcher, exec, null, container, dirsHandler, containerManager);
  launch.call();
}
 
开发者ID:chendave,项目名称:hadoop-TCP,代码行数:26,代码来源:TestContainerLaunch.java


示例7: handleContainerExitWithFailure

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerExitEvent; //导入依赖的package包/类
/**
 * Tries to tail and fetch TAIL_SIZE_IN_BYTES of data from the error log.
 * ErrorLog filename is not fixed and depends upon app, hence file name
 * pattern is used.
 * @param containerID
 * @param ret
 * @param containerLogDir
 * @param diagnosticInfo
 */
@SuppressWarnings("unchecked")
private void handleContainerExitWithFailure(ContainerId containerID, int ret,
    Path containerLogDir, StringBuilder diagnosticInfo) {
  LOG.warn(diagnosticInfo);

  String errorFileNamePattern =
      conf.get(YarnConfiguration.NM_CONTAINER_STDERR_PATTERN,
          YarnConfiguration.DEFAULT_NM_CONTAINER_STDERR_PATTERN);
  FSDataInputStream errorFileIS = null;
  try {
    FileSystem fileSystem = FileSystem.getLocal(conf).getRaw();
    FileStatus[] errorFileStatuses = fileSystem
        .globStatus(new Path(containerLogDir, errorFileNamePattern));
    if (errorFileStatuses != null && errorFileStatuses.length != 0) {
      long tailSizeInBytes =
          conf.getLong(YarnConfiguration.NM_CONTAINER_STDERR_BYTES,
              YarnConfiguration.DEFAULT_NM_CONTAINER_STDERR_BYTES);
      Path errorFile = errorFileStatuses[0].getPath();
      long fileSize = errorFileStatuses[0].getLen();

      // if more than one file matches the stderr pattern, take the latest
      // modified file, and also append the file names in the diagnosticInfo
      if (errorFileStatuses.length > 1) {
        String[] errorFileNames = new String[errorFileStatuses.length];
        long latestModifiedTime = errorFileStatuses[0].getModificationTime();
        errorFileNames[0] = errorFileStatuses[0].getPath().getName();
        for (int i = 1; i < errorFileStatuses.length; i++) {
          errorFileNames[i] = errorFileStatuses[i].getPath().getName();
          if (errorFileStatuses[i]
              .getModificationTime() > latestModifiedTime) {
            latestModifiedTime = errorFileStatuses[i].getModificationTime();
            errorFile = errorFileStatuses[i].getPath();
            fileSize = errorFileStatuses[i].getLen();
          }
        }
        diagnosticInfo.append("Error files : ")
            .append(StringUtils.join(", ", errorFileNames)).append(".\n");
      }

      long startPosition =
          (fileSize < tailSizeInBytes) ? 0 : fileSize - tailSizeInBytes;
      int bufferSize =
          (int) ((fileSize < tailSizeInBytes) ? fileSize : tailSizeInBytes);
      byte[] tailBuffer = new byte[bufferSize];
      errorFileIS = fileSystem.open(errorFile);
      errorFileIS.readFully(startPosition, tailBuffer);

      diagnosticInfo.append("Last ").append(tailSizeInBytes)
          .append(" bytes of ").append(errorFile.getName()).append(" :\n")
          .append(new String(tailBuffer, StandardCharsets.UTF_8));
    }
  } catch (IOException e) {
    LOG.error("Failed to get tail of the container's error log file", e);
  } finally {
    IOUtils.cleanup(LOG, errorFileIS);
  }

  this.dispatcher.getEventHandler()
      .handle(new ContainerExitEvent(containerID,
          ContainerEventType.CONTAINER_EXITED_WITH_FAILURE, ret,
          diagnosticInfo.toString()));
}
 
开发者ID:naver,项目名称:hadoop,代码行数:72,代码来源:ContainerLaunch.java


示例8: handleContainerExitWithFailure

import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.ContainerExitEvent; //导入依赖的package包/类
/**
 * Tries to tail and fetch TAIL_SIZE_IN_BYTES of data from the error log.
 * ErrorLog filename is not fixed and depends upon app, hence file name
 * pattern is used.
 * @param containerID
 * @param ret
 * @param containerLogDir
 * @param diagnosticInfo
 */
@SuppressWarnings("unchecked")
private void handleContainerExitWithFailure(ContainerId containerID, int ret,
    Path containerLogDir, StringBuilder diagnosticInfo) {
  LOG.warn(diagnosticInfo);

  String errorFileNamePattern =
      conf.get(YarnConfiguration.NM_CONTAINER_STDERR_PATTERN,
          YarnConfiguration.DEFAULT_NM_CONTAINER_STDERR_PATTERN);
  FSDataInputStream errorFileIS = null;
  try {
    FileSystem fileSystem = FileSystem.getLocal(conf).getRaw();
    FileStatus[] errorFileStatuses = fileSystem
        .globStatus(new Path(containerLogDir, errorFileNamePattern));
    if (errorFileStatuses != null && errorFileStatuses.length != 0) {
      long tailSizeInBytes =
          conf.getLong(YarnConfiguration.NM_CONTAINER_STDERR_BYTES,
              YarnConfiguration.DEFAULT_NM_CONTAINER_STDERR_BYTES);
      Path errorFile = errorFileStatuses[0].getPath();
      long fileSize = errorFileStatuses[0].getLen();

      // if more than one file matches the stderr pattern, take the latest
      // modified file, and also append the file names in the diagnosticInfo
      if (errorFileStatuses.length > 1) {
        String[] errorFileNames = new String[errorFileStatuses.length];
        long latestModifiedTime = errorFileStatuses[0].getModificationTime();
        errorFileNames[0] = errorFileStatuses[0].getPath().getName();
        for (int i = 1; i < errorFileStatuses.length; i++) {
          errorFileNames[i] = errorFileStatuses[i].getPath().getName();
          if (errorFileStatuses[i]
              .getModificationTime() > latestModifiedTime) {
            latestModifiedTime = errorFileStatuses[i].getModificationTime();
            errorFile = errorFileStatuses[i].getPath();
            fileSize = errorFileStatuses[i].getLen();
          }
        }
        diagnosticInfo.append("Error files: ")
            .append(StringUtils.join(", ", errorFileNames)).append(".\n");
      }

      long startPosition =
          (fileSize < tailSizeInBytes) ? 0 : fileSize - tailSizeInBytes;
      int bufferSize =
          (int) ((fileSize < tailSizeInBytes) ? fileSize : tailSizeInBytes);
      byte[] tailBuffer = new byte[bufferSize];
      errorFileIS = fileSystem.open(errorFile);
      errorFileIS.readFully(startPosition, tailBuffer);

      diagnosticInfo.append("Last ").append(tailSizeInBytes)
          .append(" bytes of ").append(errorFile.getName()).append(" :\n")
          .append(new String(tailBuffer, StandardCharsets.UTF_8));
    }
  } catch (IOException e) {
    LOG.error("Failed to get tail of the container's error log file", e);
  } finally {
    IOUtils.cleanup(LOG, errorFileIS);
  }

  this.dispatcher.getEventHandler()
      .handle(new ContainerExitEvent(containerID,
          ContainerEventType.CONTAINER_EXITED_WITH_FAILURE, ret,
          diagnosticInfo.toString()));
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:72,代码来源:ContainerLaunch.java



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

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