本文整理汇总了Java中org.apache.hadoop.yarn.logaggregation.LogAggregationUtils.getRemoteNodeLogDirSuffix方法的典型用法代码示例。如果您正苦于以下问题:Java LogAggregationUtils.getRemoteNodeLogDirSuffix方法的具体用法?Java LogAggregationUtils.getRemoteNodeLogDirSuffix怎么用?Java LogAggregationUtils.getRemoteNodeLogDirSuffix使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.hadoop.yarn.logaggregation.LogAggregationUtils
的用法示例。
在下文中一共展示了LogAggregationUtils.getRemoteNodeLogDirSuffix方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: run
import org.apache.hadoop.yarn.logaggregation.LogAggregationUtils; //导入方法依赖的package包/类
@Override
public int run(String[] args) throws Exception {
int exitCode = 1;
handleOpts(args);
FileSystem fs = null;
Path remoteRootLogDir = new Path(conf.get(
YarnConfiguration.NM_REMOTE_APP_LOG_DIR,
YarnConfiguration.DEFAULT_NM_REMOTE_APP_LOG_DIR));
String suffix = LogAggregationUtils.getRemoteNodeLogDirSuffix(conf);
Path workingDir = new Path(remoteRootLogDir, "archive-logs-work");
if (verbose) {
LOG.info("Remote Log Dir Root: " + remoteRootLogDir);
LOG.info("Log Suffix: " + suffix);
LOG.info("Working Dir: " + workingDir);
}
try {
fs = FileSystem.get(conf);
if (prepareWorkingDir(fs, workingDir)) {
checkFilesAndSeedApps(fs, remoteRootLogDir, suffix);
filterAppsByAggregatedStatus();
checkMaxEligible();
if (eligibleApplications.isEmpty()) {
LOG.info("No eligible applications to process");
exitCode = 0;
} else {
StringBuilder sb =
new StringBuilder("Will process the following applications:");
for (AppInfo app : eligibleApplications) {
sb.append("\n\t").append(app.getAppId());
}
LOG.info(sb.toString());
File localScript = File.createTempFile("hadoop-archive-logs-", ".sh");
generateScript(localScript, workingDir, remoteRootLogDir, suffix);
exitCode = runDistributedShell(localScript) ? 0 : 1;
}
}
} finally {
if (fs != null) {
// Cleanup working directory
if (fs.exists(workingDir)) {
fs.delete(workingDir, true);
}
fs.close();
}
}
return exitCode;
}