@Override protected void runApplication(OptionSet options) throws Exception { YarnInfoApplication app = new YarnInfoApplication(); Properties appProperties = new Properties(); appProperties.setProperty("spring.yarn.internal.YarnInfoApplication.operation", "PUSHED"); app.appProperties(appProperties); handleApplicationRun(app); }
/** * Run a {@link SpringApplication} build by a * {@link SpringApplicationBuilder} using an empty args. * * @see #run(String...) * * @return report */ public String run() { return run(new String[0]); }
@Override public String runWithSpringApplication(ApplicationContext context) throws Exception { OperationProperties operationProperties = context.getBean(OperationProperties.class); if (Operation.PUSHED == operationProperties.getOperation()) { return getInstalledReport(context); } else if (Operation.SUBMITTED == operationProperties.getOperation()) { YarnClient client = context.getBean(YarnClient.class); return getSubmittedReport(client, operationProperties.isVerbose(), operationProperties.getType(), operationProperties.getHeaders()); } return null; }
@Override protected void runApplication(OptionSet options) throws Exception { YarnInfoApplication app = new YarnInfoApplication(); Properties appProperties = new Properties(); appProperties.setProperty("spring.yarn.internal.YarnInfoApplication.operation", "SUBMITTED"); if (isFlagOn(options, verboseOption)) { appProperties.setProperty("spring.yarn.internal.YarnInfoApplication.verbose", "true"); } appProperties.setProperty("spring.yarn.internal.YarnInfoApplication.type", options.valueOf(typeOption)); app.appProperties(appProperties); handleApplicationRun(app); }
@Override public Collection<CloudAppInfo> getApplications() { ArrayList<CloudAppInfo> infos = new ArrayList<CloudAppInfo>(); YarnInfoApplication app = new YarnInfoApplication(); Properties appProperties = new Properties(); appProperties.setProperty(PREFIX_YIA + "operation", "PUSHED"); app.appProperties(appProperties); String info = runApp(app); logger.debug("Full response for PUSHED: {}", info); String[] lines = info.split("\\r?\\n"); if (lines.length > 2) { for (int i = 2; i < lines.length; i++) { String[] fields = lines[i].trim().split("\\s+"); if (fields.length > 1) { infos.add(new CloudAppInfo(fields[0].trim())); } } } return infos; }
@Override public Collection<CloudAppInstanceInfo> getInstances() { ArrayList<CloudAppInstanceInfo> infos = new ArrayList<CloudAppInstanceInfo>(); YarnInfoApplication app = new YarnInfoApplication(); Properties appProperties = new Properties(); appProperties.setProperty(PREFIX_YIA + "operation", "SUBMITTED"); appProperties.setProperty(PREFIX_YIA + "verbose", "false"); appProperties.setProperty(PREFIX_YIA + "type", "DATAFLOW"); app.appProperties(appProperties); String info = runApp(app); logger.debug("Full response for SUBMITTED: {}", info); String[] lines = info.split("\\r?\\n"); if (lines.length > 2) { for (int i = 2; i < lines.length; i++) { String[] fields = lines[i].trim().split("\\s+"); if (fields.length > 10) { infos.add(new CloudAppInstanceInfo(fields[0].trim(), fields[2].trim(), fields[fields.length - 1] .trim())); } } } return infos; }