List of usage examples for org.apache.hadoop.yarn.api.records FinalApplicationStatus KILLED
FinalApplicationStatus KILLED
To view the source code for org.apache.hadoop.yarn.api.records FinalApplicationStatus KILLED.
Click Source Link
From source file:co.cask.cdap.internal.app.runtime.distributed.AbstractTwillProgramController.java
License:Apache License
/** * Starts listening to TwillController state changes. For internal use only. * The listener cannot be binded in constructor to avoid reference leak. * * @return this instance./*w w w . j a va2s . co m*/ */ public ProgramController startListen() { twillController.onRunning(new Runnable() { @Override public void run() { LOG.info("Twill program running: {}, twill runId: {}", getProgramRunId(), twillController.getRunId()); started(); } }, Threads.SAME_THREAD_EXECUTOR); twillController.onTerminated(new Runnable() { @Override public void run() { LOG.info("Twill program terminated: {}, twill runId: {}", getProgramRunId(), twillController.getRunId()); if (stopRequested) { // Service was killed stop(); } else { try { // This never blocks since the twill controller is already terminated. It will throw exception if // the twill program failed. twillController.awaitTerminated(); // Service completed by itself. Simply signal the state change of this controller. // TODO (CDAP-6806): this should not be done with reflection but through a proper Twill API // Figure out whether the final Yarn status is in error, if so, set state accordingly if (twillController instanceof YarnTwillController) { FinalApplicationStatus finalStatus = ((YarnTwillController) twillController) .getTerminationStatus(); if (FinalApplicationStatus.FAILED.equals(finalStatus)) { complete(State.ERROR); return; } else if (FinalApplicationStatus.KILLED.equals(finalStatus)) { complete(State.KILLED); return; } } // normal termination complete(); } catch (Exception e) { error(e); } } } }, Threads.SAME_THREAD_EXECUTOR); return this; }
From source file:com.hazelcast.yarn.ApplicationMaster.java
License:Open Source License
private void runApplicationMaster() throws IOException, YarnException, InterruptedException { this.rmClient.registerApplicationMaster("", 0, ""); LOG.log(Level.INFO, "Application master running..."); Priority priority = Records.newRecord(Priority.class); priority.setPriority(0);/*w w w . ja v a 2s .c om*/ try { while (!this.nmClient.isInState(Service.STATE.STOPPED)) { int running = this.containers.size(); if (running < this.properties.clusterSize() && checkResources()) { // Resource requirements for worker containers. Resource capability = Records.newRecord(Resource.class); capability.setMemory(this.properties.memoryPerNode()); capability.setVirtualCores(this.properties.cpuPerNode()); for (int i = 0; i < this.properties.clusterSize() - running; i++) { // Make container requests to ResourceManager AMRMClient.ContainerRequest containerAsk = new AMRMClient.ContainerRequest(capability, null, null, priority); this.rmClient.addContainerRequest(containerAsk); LOG.log(Level.INFO, "Making request. Memory: {0}, cpu {1}.", new Object[] { this.properties.memoryPerNode(), this.properties.cpuPerNode() }); } } TimeUnit.MILLISECONDS.sleep(TIMEOUT); } } catch (InterruptedException e) { this.rmClient.unregisterApplicationMaster(FinalApplicationStatus.KILLED, "", ""); LOG.log(Level.WARNING, "Application master has been interrupted."); } catch (Exception e) { this.rmClient.unregisterApplicationMaster(FinalApplicationStatus.FAILED, "", ""); LOG.log(Level.SEVERE, "Application master caused error.", e); } }
From source file:io.amient.yarn1.YarnMaster.java
License:Open Source License
public static void run(Properties config, String[] args) throws Exception { try {//from w w w .j a va 2 s . c o m log.info("Yarn1 App Configuration:"); for (Object param : config.keySet()) { log.info(param.toString() + " = " + config.get(param).toString()); } Class<? extends YarnMaster> masterClass = Class.forName(config.getProperty("yarn1.master.class")) .asSubclass(YarnMaster.class); log.info("Starting Master Instance: " + masterClass.getName()); Constructor<? extends YarnMaster> constructor = masterClass.getConstructor(Properties.class); YarnMaster master = null; try { master = constructor.newInstance(config); master.initialize(); /** * The application master instance now has an opportunity to * request containers it needs in the onStartUp(args), e.g.to request 16 containers, * with priority 1, 4 cores and 1024Mb of memory: * for(int i=0; i< 16; i++) { * requestContainer(1, MyAppWorker.class,1024, 4); * } */ master.onStartUp(args); while (master.numTasks.get() > master.numCompletedTasks.get()) { synchronized (master.killed) { master.killed.wait(10000); } if (master.killed.get()) { try { master.rmClient.unregisterApplicationMaster(FinalApplicationStatus.KILLED, "", ""); } finally { System.exit(103); } } } master.conclude(); } catch (Throwable e) { e.printStackTrace(); System.exit(102); } finally { if (master != null) master.onCompletion(); } } catch (Throwable e) { e.printStackTrace(); System.exit(101); } }
From source file:org.apache.flink.yarn.YarnFlinkResourceManager.java
License:Apache License
/** * Converts a Flink application status enum to a YARN application status enum. * @param status The Flink application status. * @return The corresponding YARN application status. *//*from www .j ava 2s . co m*/ private FinalApplicationStatus getYarnStatus(ApplicationStatus status) { if (status == null) { return FinalApplicationStatus.UNDEFINED; } else { switch (status) { case SUCCEEDED: return FinalApplicationStatus.SUCCEEDED; case FAILED: return FinalApplicationStatus.FAILED; case CANCELED: return FinalApplicationStatus.KILLED; default: return FinalApplicationStatus.UNDEFINED; } } }
From source file:org.apache.hama.bsp.BSPApplicationMaster.java
License:Apache License
private void cleanup() throws YarnException, IOException { syncServer.stop();/* w w w . j a v a2 s .co m*/ if (threadPool != null && !threadPool.isShutdown()) { threadPool.shutdownNow(); } clientServer.stop(); taskServer.stop(); FinishApplicationMasterRequest finishReq = Records.newRecord(FinishApplicationMasterRequest.class); switch (job.getState()) { case SUCCESS: finishReq.setFinalApplicationStatus(FinalApplicationStatus.SUCCEEDED); break; case KILLED: finishReq.setFinalApplicationStatus(FinalApplicationStatus.KILLED); break; case FAILED: finishReq.setFinalApplicationStatus(FinalApplicationStatus.FAILED); break; default: finishReq.setFinalApplicationStatus(FinalApplicationStatus.FAILED); } this.amrmRPC.finishApplicationMaster(finishReq); }
From source file:org.apache.ignite.yarn.ApplicationMaster.java
License:Apache License
/** * Runs application master./*from w w w. j a v a 2 s.c o m*/ * * @throws Exception If failed. */ public void run() throws Exception { // Register with ResourceManager rmClient.registerApplicationMaster("", 0, ""); log.log(Level.INFO, "Application master registered."); // Priority for worker containers - priorities are intra-application Priority priority = Records.newRecord(Priority.class); priority.setPriority(0); try { // Check ignite cluster. while (!nmClient.isInState(Service.STATE.STOPPED)) { int runningCnt = containers.size(); if (runningCnt < props.instances() && checkAvailableResource()) { // Resource requirements for worker containers. Resource capability = Records.newRecord(Resource.class); capability.setMemory((int) props.totalMemoryPerNode()); capability.setVirtualCores((int) props.cpusPerNode()); for (int i = 0; i < props.instances() - runningCnt; ++i) { // Make container requests to ResourceManager AMRMClient.ContainerRequest containerAsk = new AMRMClient.ContainerRequest(capability, null, null, priority); rmClient.addContainerRequest(containerAsk); log.log(Level.INFO, "Making request. Memory: {0}, cpu {1}.", new Object[] { props.totalMemoryPerNode(), props.cpusPerNode() }); } } TimeUnit.MILLISECONDS.sleep(schedulerTimeout); } } catch (InterruptedException ignored) { // Un-register with ResourceManager rmClient.unregisterApplicationMaster(FinalApplicationStatus.KILLED, "", ""); log.log(Level.WARNING, "Application master killed."); } catch (Exception e) { // Un-register with ResourceManager rmClient.unregisterApplicationMaster(FinalApplicationStatus.FAILED, "", ""); log.log(Level.SEVERE, "Application master failed.", e); } }
From source file:org.apache.oozie.action.hadoop.TestLauncherMain.java
License:Apache License
@Test public void testKillChildYarnJobs() throws Exception { YarnClient yc = Mockito.mock(YarnClient.class); ApplicationReport ar = Mockito.mock(ApplicationReport.class); Mockito.when(yc.getApplicationReport(Mockito.any(ApplicationId.class))).thenReturn(ar); Mockito.when(ar.getFinalApplicationStatus()).thenReturn(FinalApplicationStatus.UNDEFINED) .thenReturn(FinalApplicationStatus.FAILED).thenReturn(FinalApplicationStatus.KILLED); ApplicationId appz[] = { ApplicationId.newInstance(System.currentTimeMillis(), 1), ApplicationId.newInstance(System.currentTimeMillis(), 2), ApplicationId.newInstance(System.currentTimeMillis(), 3) }; Collection<ApplicationId> result = LauncherMain.checkAndKillChildYarnJobs(yc, null, Arrays.asList(appz)); assertEquals(1, result.size());/*from ww w .j a v a 2 s. c o m*/ assertEquals(appz[0].getId(), result.iterator().next().getId()); }
From source file:org.apache.tajo.master.rm.RMContainerAllocator.java
License:Apache License
public void stop() { stopped.set(true);//from w w w . j a v a 2s. c o m super.stop(); FinalApplicationStatus finishState = FinalApplicationStatus.UNDEFINED; QueryState state = context.getQuery().getState(); if (state == QueryState.QUERY_SUCCEEDED) { finishState = FinalApplicationStatus.SUCCEEDED; } else if (state == QueryState.QUERY_KILLED || (state == QueryState.QUERY_RUNNING)) { finishState = FinalApplicationStatus.KILLED; } else if (state == QueryState.QUERY_FAILED || state == QueryState.QUERY_ERROR) { finishState = FinalApplicationStatus.FAILED; } try { unregisterApplicationMaster(finishState, "", "http://localhost:1234"); } catch (YarnRemoteException e) { LOG.error(e); } }
From source file:org.apache.tez.client.LocalClient.java
License:Apache License
protected FinalApplicationStatus convertDAGAppMasterStateToFinalYARNState(DAGAppMasterState dagAppMasterState) { switch (dagAppMasterState) { case NEW://from ww w.j a v a 2s .co m case INITED: case RECOVERING: case IDLE: case RUNNING: return FinalApplicationStatus.UNDEFINED; case SUCCEEDED: return FinalApplicationStatus.SUCCEEDED; case FAILED: return FinalApplicationStatus.FAILED; case KILLED: return FinalApplicationStatus.KILLED; case ERROR: return FinalApplicationStatus.FAILED; default: return FinalApplicationStatus.UNDEFINED; } }
From source file:org.apache.tez.dag.app.rm.TaskSchedulerEventHandler.java
License:Apache License
@Override public AppFinalStatus getFinalAppStatus() { FinalApplicationStatus finishState = FinalApplicationStatus.UNDEFINED; StringBuffer sb = new StringBuffer(); if (dagAppMaster == null) { finishState = FinalApplicationStatus.UNDEFINED; sb.append("App not yet initialized"); } else {//from w ww .j a va 2s . c o m DAGAppMasterState appMasterState = dagAppMaster.getState(); if (appMasterState == DAGAppMasterState.SUCCEEDED) { finishState = FinalApplicationStatus.SUCCEEDED; } else if (appMasterState == DAGAppMasterState.KILLED || (appMasterState == DAGAppMasterState.RUNNING && isSignalled)) { finishState = FinalApplicationStatus.KILLED; } else if (appMasterState == DAGAppMasterState.FAILED || appMasterState == DAGAppMasterState.ERROR) { finishState = FinalApplicationStatus.FAILED; } else { finishState = FinalApplicationStatus.UNDEFINED; } List<String> diagnostics = dagAppMaster.getDiagnostics(); if (diagnostics != null) { for (String s : diagnostics) { sb.append(s).append("\n"); } } } if (LOG.isDebugEnabled()) { LOG.debug("Setting job diagnostics to " + sb.toString()); } // if history url is set use the same, if historyUrl is set to "" then rm ui disables the // history url return new AppFinalStatus(finishState, sb.toString(), historyUrl); }