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


Java LogWriter.closeWriter方法代码示例

本文整理汇总了Java中org.apache.hadoop.yarn.logaggregation.AggregatedLogFormat.LogWriter.closeWriter方法的典型用法代码示例。如果您正苦于以下问题:Java LogWriter.closeWriter方法的具体用法?Java LogWriter.closeWriter怎么用?Java LogWriter.closeWriter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.hadoop.yarn.logaggregation.AggregatedLogFormat.LogWriter的用法示例。


在下文中一共展示了LogWriter.closeWriter方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testReadAcontainerLogs1

import org.apache.hadoop.yarn.logaggregation.AggregatedLogFormat.LogWriter; //导入方法依赖的package包/类
@Test
public void testReadAcontainerLogs1() throws Exception {
  Configuration conf = new Configuration();
  File workDir = new File(testWorkDir, "testReadAcontainerLogs1");
  Path remoteAppLogFile =
      new Path(workDir.getAbsolutePath(), "aggregatedLogFile");
  Path srcFileRoot = new Path(workDir.getAbsolutePath(), "srcFiles");
  ContainerId testContainerId = TestContainerId.newContainerId(1, 1, 1, 1);
  Path t =
      new Path(srcFileRoot, testContainerId.getApplicationAttemptId()
          .getApplicationId().toString());
  Path srcFilePath = new Path(t, testContainerId.toString());

  int numChars = 80000;

  writeSrcFile(srcFilePath, "stdout", numChars);

  UserGroupInformation ugi = UserGroupInformation.getCurrentUser();
  LogWriter logWriter = new LogWriter(conf, remoteAppLogFile, ugi);

  LogKey logKey = new LogKey(testContainerId);
  LogValue logValue =
      new LogValue(Collections.singletonList(srcFileRoot.toString()),
          testContainerId, ugi.getShortUserName());

  logWriter.append(logKey, logValue);
  logWriter.closeWriter();

  // make sure permission are correct on the file
  FileStatus fsStatus =  fs.getFileStatus(remoteAppLogFile);
  Assert.assertEquals("permissions on log aggregation file are wrong",  
    FsPermission.createImmutable((short) 0640), fsStatus.getPermission()); 

  LogReader logReader = new LogReader(conf, remoteAppLogFile);
  LogKey rLogKey = new LogKey();
  DataInputStream dis = logReader.next(rLogKey);
  Writer writer = new StringWriter();
  LogReader.readAcontainerLogs(dis, writer);
  
  String s = writer.toString();
  int expectedLength =
      "\n\nLogType:stdout".length() + ("\nLogLength:" + numChars).length()
          + "\nLog Contents:\n".length() + numChars;
  Assert.assertTrue("LogType not matched", s.contains("LogType:stdout"));
  Assert.assertTrue("LogLength not matched", s.contains("LogLength:" + numChars));
  Assert.assertTrue("Log Contents not matched", s.contains("Log Contents"));
  
  StringBuilder sb = new StringBuilder();
  for (int i = 0 ; i < numChars ; i++) {
    sb.append(filler);
  }
  String expectedContent = sb.toString();
  Assert.assertTrue("Log content incorrect", s.contains(expectedContent));
  
  Assert.assertEquals(expectedLength, s.length());
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:57,代码来源:TestAggregatedLogFormat.java


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