List of usage examples for org.apache.hadoop.yarn.api.records YarnApplicationState FINISHED
YarnApplicationState FINISHED
To view the source code for org.apache.hadoop.yarn.api.records YarnApplicationState FINISHED.
Click Source Link
From source file:org.springframework.cloud.dataflow.yarn.buildtests.AbstractCliBootYarnClusterTests.java
License:Apache License
protected ApplicationInfo submitApplicationAndWait(Object source, String[] args, long timeout, final TimeUnit unit) throws Exception { return submitApplicationAndWaitState(source, args, timeout, unit, YarnApplicationState.FINISHED, YarnApplicationState.FAILED); }
From source file:org.springframework.cloud.dataflow.yarn.buildtests.YarnCloudAppServiceApplicationIT.java
License:Apache License
@Test public void testTask1() throws Exception { Properties instanceProperties = new Properties(); instanceProperties.setProperty("spring.yarn.applicationVersion", "app"); instanceProperties.setProperty("spring.cloud.dataflow.yarn.version", getProjectVersion()); String[] runArgs = new String[] { "--spring.config.name=task", "--spring.yarn.client.launchcontext.arguments.--dataflow.module.coordinates=org.springframework.cloud.task.module:timestamp-task:jar:exec:1.0.0.BUILD-SNAPSHOT" }; ApplicationContextInitializer<?>[] initializers = new ApplicationContextInitializer<?>[] { new HadoopConfigurationInjectingInitializer(getConfiguration()) }; YarnCloudAppServiceApplication app = new YarnCloudAppServiceApplication("app", getProjectVersion(), "application.properties", instanceProperties, runArgs, initializers); app.afterPropertiesSet();//w w w. ja v a2s.co m setYarnClient(app.getContext().getBean(YarnClient.class)); app.pushApplication("app"); Collection<CloudAppInfo> pushedApplications = app.getPushedApplications(); assertThat(pushedApplications.size(), is(1)); String appId = app.submitApplication("app"); ApplicationId applicationId = ConverterUtils.toApplicationId(appId); ApplicationInfo info = waitState(applicationId, 3, TimeUnit.MINUTES, YarnApplicationState.FINISHED, YarnApplicationState.FAILED); assertThat(info.getYarnApplicationState(), is(YarnApplicationState.FINISHED)); app.destroy(); }
From source file:org.springframework.yarn.boot.app.YarnKillApplication.java
License:Apache License
public String run(String... args) { SpringApplicationBuilder builder = new SpringApplicationBuilder(); builder.web(false);/*from ww w .jav a 2 s . com*/ builder.sources(YarnKillApplication.class, OperationProperties.class); SpringYarnBootUtils.addSources(builder, sources.toArray(new Object[0])); SpringYarnBootUtils.addProfiles(builder, profiles.toArray(new String[0])); if (StringUtils.hasText(applicationBaseDir)) { appProperties.setProperty("spring.yarn.applicationDir", applicationBaseDir + applicationVersion + "/"); } SpringYarnBootUtils.addApplicationListener(builder, appProperties); SpringApplicationTemplate template = new SpringApplicationTemplate(builder); return template.execute(new SpringApplicationCallback<String>() { @Override public String runWithSpringApplication(ApplicationContext context) throws Exception { YarnClient client = context.getBean(YarnClient.class); OperationProperties operationProperties = context.getBean(OperationProperties.class); ApplicationId applicationId = ConverterUtils .toApplicationId(operationProperties.getApplicationId()); ApplicationReport report = client.getApplicationReport(applicationId); if (report.getYarnApplicationState() == YarnApplicationState.FINISHED || report.getYarnApplicationState() == YarnApplicationState.KILLED || report.getYarnApplicationState() == YarnApplicationState.FAILED) { return "Application " + applicationId + " is not running"; } else { client.killApplication(applicationId); return "Kill request for " + applicationId + " sent"; } } }, args); }
From source file:org.springframework.yarn.boot.app.YarnKillApplicationTests.java
License:Apache License
@Test public void testKill() throws Exception { String ID = "testKill"; // install//from ww w. j a v a 2 s .c om YarnPushApplication pushApp = new YarnPushApplication(); pushApp.applicationVersion(ID); pushApp.applicationBaseDir(BASE); Properties appProperties = new Properties(); SpringYarnBootUtils.mergeHadoopPropertyIntoMap(configuration, "fs.defaultFS", "spring.hadoop.fsUri", appProperties); SpringYarnBootUtils.mergeHadoopPropertyIntoMap(configuration, "yarn.resourcemanager.address", "spring.hadoop.resourceManagerAddress", appProperties); SpringYarnBootUtils.mergeHadoopPropertyIntoMap(configuration, "yarn.resourcemanager.scheduler.address", "spring.hadoop.resourceManagerSchedulerAddress", appProperties); pushApp.configFile("application.properties", appProperties); pushApp.appProperties(appProperties); String[] installArgs = new String[] { "--spring.yarn.appmaster.appmasterClass=org.springframework.yarn.boot.app.StartSleepAppmaster", "--spring.yarn.client.clientClass=org.springframework.yarn.client.DefaultApplicationYarnClient", "--spring.yarn.client.files[0]=" + APPMASTER_ARCHIVE_PATH }; pushApp.run(installArgs); // submit YarnSubmitApplication submitApp = new YarnSubmitApplication(); submitApp.applicationVersion(ID); submitApp.applicationBaseDir(BASE); submitApp.appProperties(appProperties); String[] submitArgs = new String[] { "--spring.yarn.client.clientClass=org.springframework.yarn.client.DefaultApplicationYarnClient", "--spring.yarn.client.launchcontext.archiveFile=" + APPMASTER_ARCHIVE }; ApplicationId applicationId = submitApp.run(submitArgs); YarnApplicationState state = waitState(applicationId, 60, TimeUnit.SECONDS, YarnApplicationState.FINISHED, YarnApplicationState.FAILED, YarnApplicationState.RUNNING); assertThat(state, is(YarnApplicationState.RUNNING)); // kill YarnKillApplication killApp = new YarnKillApplication(); killApp.appProperties(appProperties); String[] killArgs = new String[] { "--spring.yarn.internal.YarnKillApplication.applicationId=" + applicationId.toString() }; String info = killApp.run(killArgs); assertThat(info, containsString("Kill request for")); }
From source file:org.springframework.yarn.boot.app.YarnSubmitApplicationTests.java
License:Apache License
@Test public void testPushSubmit() throws Exception { String ID = "testPushSubmit"; // push//w w w . j a va 2 s . c o m YarnPushApplication pushApp = new YarnPushApplication(); pushApp.applicationVersion(ID); pushApp.applicationBaseDir(BASE); Properties appProperties = new Properties(); SpringYarnBootUtils.mergeHadoopPropertyIntoMap(configuration, "fs.defaultFS", "spring.hadoop.fsUri", appProperties); SpringYarnBootUtils.mergeHadoopPropertyIntoMap(configuration, "yarn.resourcemanager.address", "spring.hadoop.resourceManagerAddress", appProperties); SpringYarnBootUtils.mergeHadoopPropertyIntoMap(configuration, "yarn.resourcemanager.scheduler.address", "spring.hadoop.resourceManagerSchedulerAddress", appProperties); pushApp.configFile("application.properties", appProperties); pushApp.appProperties(appProperties); String[] args = new String[] { "--spring.yarn.appmaster.appmasterClass=org.springframework.yarn.boot.app.StartExitAppmaster", "--spring.yarn.client.clientClass=org.springframework.yarn.client.DefaultApplicationYarnClient", "--spring.yarn.client.files[0]=" + APPMASTER_ARCHIVE_PATH }; pushApp.run(args); // submit YarnSubmitApplication submitApp = new YarnSubmitApplication(); submitApp.applicationVersion(ID); submitApp.applicationBaseDir(BASE); submitApp.appProperties(appProperties); args = new String[] { "--spring.yarn.client.clientClass=org.springframework.yarn.client.DefaultApplicationYarnClient", "--spring.yarn.client.launchcontext.archiveFile=" + APPMASTER_ARCHIVE }; ApplicationId applicationId = submitApp.run(args); YarnApplicationState state = waitState(applicationId, 60, TimeUnit.SECONDS, YarnApplicationState.FINISHED, YarnApplicationState.FAILED); assertThat(state, is(YarnApplicationState.FINISHED)); }
From source file:org.springframework.yarn.boot.test.junit.AbstractBootYarnClusterTests.java
License:Apache License
/** * Submits application and wait state.//w ww. j a va 2 s . c o m * * @param source the boot application config source * @param args the boot application args * @param timeout the timeout for wait * @param unit the unit for timeout * @return Application info for submit * @throws Exception if exception occurred * @see ApplicationInfo * @see #submitApplicationAndWaitState(Object, String[], long, TimeUnit, YarnApplicationState...) */ protected ApplicationInfo submitApplicationAndWait(Object source, String[] args, long timeout, final TimeUnit unit) throws Exception { return submitApplicationAndWaitState(source, args, timeout, unit, YarnApplicationState.FINISHED, YarnApplicationState.FAILED); }
From source file:org.springframework.yarn.examples.ActivatorTests.java
License:Apache License
@Test public void testAppInstallSubmit() throws Exception { String ID = "foo-1"; String BASE = "/apps/"; setYarnClient(buildYarnClient());/*from w w w . jav a 2 s . co m*/ String[] installAppArgs = new String[] { "--spring.hadoop.fsUri=" + getConfiguration().get("fs.defaultFS"), "--spring.hadoop.resourceManagerAddress=" + getConfiguration().get("yarn.resourcemanager.address"), "--spring.yarn.client.files[0]=file:build/libs/test-install-submit-appmaster-2.0.0.BUILD-SNAPSHOT.jar", "--spring.yarn.client.files[1]=file:build/libs/test-install-submit-container-2.0.0.BUILD-SNAPSHOT.jar" }; Properties appProperties = new Properties(); appProperties.setProperty("spring.yarn.applicationDir", BASE + ID + "/"); YarnPushApplication installApp = new YarnPushApplication(); installApp.applicationVersion(ID); installApp.applicationBaseDir(BASE); installApp.configFile("application.properties", appProperties); installApp.run(installAppArgs); listFiles(); catFile(BASE + ID + "/application.properties"); String rm = getConfiguration().get("yarn.resourcemanager.address"); String[] split = StringUtils.split(rm, ":"); String[] submitAppArgs = new String[] { "--spring.yarn.applicationDir=" + BASE + ID + "/", "--spring.hadoop.fsUri=" + getConfiguration().get("fs.defaultFS"), "--spring.hadoop.resourceManagerHost=" + split[0], "--spring.hadoop.resourceManagerAddress=" + getConfiguration().get("yarn.resourcemanager.address"), "--spring.hadoop.resourceManagerSchedulerAddress=" + getConfiguration().get("yarn.resourcemanager.scheduler.address") }; YarnSubmitApplication submitApp = new YarnSubmitApplication(); submitApp.applicationVersion(ID); submitApp.applicationBaseDir(BASE); ApplicationId applicationId = submitApp.run(submitAppArgs); YarnApplicationState state = waitState(applicationId, 2, TimeUnit.MINUTES, YarnApplicationState.FINISHED); assertThat(state, is(YarnApplicationState.FINISHED)); List<Resource> resources = ContainerLogUtils.queryContainerLogs(getYarnCluster(), applicationId); assertThat(resources, notNullValue()); assertThat(resources.size(), is(6)); for (Resource res : resources) { File file = res.getFile(); String content = ContainerLogUtils.getFileContent(file); if (file.getName().endsWith("stdout")) { assertThat(file.length(), greaterThan(0l)); if (file.getName().equals("Container.stdout")) { assertThat(content, containsString("Hello from ActivatorPojo")); } } else if (file.getName().endsWith("stderr")) { assertThat("stderr file is not empty: " + content, file.length(), is(0l)); } } }
From source file:org.springframework.yarn.examples.BatchAmjobTests.java
License:Apache License
@Test @Timed(millis = 70000)//from w ww . j a v a 2 s. c om public void testAppSubmission() throws Exception { ApplicationInfo info = submitApplicationAndWait(); assertThat(info, notNullValue()); assertThat(info.getYarnApplicationState(), notNullValue()); assertThat(info.getApplicationId(), notNullValue()); assertThat(info.getYarnApplicationState(), is(YarnApplicationState.FINISHED)); List<Resource> resources = ContainerLogUtils.queryContainerLogs(getYarnCluster(), info.getApplicationId()); // only appmaster, 2 log files assertThat(resources, notNullValue()); assertThat(resources.size(), is(2)); for (Resource res : resources) { File file = res.getFile(); if (file.getName().endsWith("stdout")) { // there has to be some content in stdout file assertThat(file.length(), greaterThan(0l)); if (file.getName().equals("Appmaster.stdout")) { Scanner scanner = new Scanner(file); String content = scanner.useDelimiter("\\A").next(); scanner.close(); // this is what appmaster will log in stdout assertThat(content, containsString("Hello1")); } } else if (file.getName().endsWith("stderr")) { String content = ""; if (file.length() > 0) { Scanner scanner = new Scanner(file); content = scanner.useDelimiter("\\A").next(); scanner.close(); } // can't have anything in stderr files assertThat("stderr file is not empty: " + content, file.length(), is(0l)); } } }
From source file:org.springframework.yarn.examples.BatchFilesTests.java
License:Apache License
@Test @Timed(millis = 70000)/* w ww. ja va2s.c o m*/ public void testAppSubmission() throws Exception { createTestData(); ApplicationInfo info = submitApplicationAndWait(); assertThat(info, notNullValue()); assertThat(info.getYarnApplicationState(), notNullValue()); assertThat(info.getApplicationId(), notNullValue()); assertThat(info.getYarnApplicationState(), is(YarnApplicationState.FINISHED)); List<Resource> resources = ContainerLogUtils.queryContainerLogs(getYarnCluster(), info.getApplicationId()); assertThat(resources, notNullValue()); assertThat(resources.size(), is(8)); int linesFound = 0; HashSet<String> linesUnique = new HashSet<String>(300); for (Resource res : resources) { File file = res.getFile(); if (file.getName().endsWith("stdout")) { // there has to be some content in stdout file assertThat(file.length(), greaterThan(0l)); if (file.getName().equals("Container.stdout")) { Scanner scanner = new Scanner(file); while (scanner.hasNextLine()) { String line = scanner.nextLine(); if (line.contains("writing:")) { String[] split = line.split("\\s+"); linesUnique.add(split[split.length - 1]); linesFound++; } } scanner.close(); } } else if (file.getName().endsWith("stderr")) { String content = ""; if (file.length() > 0) { Scanner scanner = new Scanner(file); content = scanner.useDelimiter("\\A").next(); scanner.close(); } // can't have anything in stderr files assertThat("stderr file is not empty: " + content, file.length(), is(0l)); } } assertThat(linesFound, is(300)); assertThat(linesUnique.size(), is(300)); }
From source file:org.springframework.yarn.examples.BatchPartitionTests.java
License:Apache License
@Test @Timed(millis = 70000)// w w w . j a v a 2 s . co m public void testAppSubmission() throws Exception { ApplicationInfo info = submitApplicationAndWait(); assertThat(info, notNullValue()); assertThat(info.getYarnApplicationState(), notNullValue()); assertThat(info.getApplicationId(), notNullValue()); assertThat(info.getYarnApplicationState(), is(YarnApplicationState.FINISHED)); List<Resource> resources = ContainerLogUtils.queryContainerLogs(getYarnCluster(), info.getApplicationId()); assertThat(resources, notNullValue()); assertThat(resources.size(), is(10)); for (Resource res : resources) { File file = res.getFile(); if (file.getName().endsWith("stdout")) { // there has to be some content in stdout file assertThat(file.length(), greaterThan(0l)); } else if (file.getName().endsWith("stderr")) { String content = ""; if (file.length() > 0) { Scanner scanner = new Scanner(file); content = scanner.useDelimiter("\\A").next(); scanner.close(); } // can't have anything in stderr files assertThat("stderr file is not empty: " + content, file.length(), is(0l)); } } }