@Override public synchronized void initTasks() throws IOException { try { int jobNumber = this.getJobID().getId(); synchronized (numJobsCompleted) { while (numJobsCompleted.get() != (NUM_JOBS - jobNumber)) { numJobsCompleted.wait(); } numJobsCompleted.set(numJobsCompleted.get() + 1); numJobsCompleted.notifyAll(); LOG.info("JobNumber " + jobNumber + " succeeded"); } } catch (InterruptedException ie) {}; this.status.setRunState(JobStatus.SUCCEEDED); }
private void logJobIDs() { boolean exceptions = false; try { List<FlowStepStats> stepStats = getFlowStats().getFlowStepStats(); List<String> jobIDs = new ArrayList<String>(); for (FlowStepStats stat : stepStats) { try { JobID jobid = ((HadoopStepStats)stat).getRunningJob().getID(); String jtID = jobid.getJtIdentifier(); String jobID = Integer.toString(jobid.getId()); jobIDs.add(jtID + "_" + jobID); } catch (Exception e) { exceptions = true; } } if (exceptions) { LOG.info("unable to retrieve jobid from all completed steps!"); LOG.info("successfully retrieved job ids: " + StringUtils.join(jobIDs, ", ")); } else { LOG.info("step job ids: " + StringUtils.join(jobIDs, ", ")); } } catch (Exception e) { LOG.info("unable to retrieve any jobids from steps"); } }
private TaskAttemptID getTaskAttemptID(TaskType type) { JobID jobId = getJobID(); return new TaskAttemptID(jobId.getJtIdentifier(), jobId.getId(), type, ++taskCounter, 0); } }
private String getBaseLocation(String jobId, String user) { final JobID jobID = JobID.forName(jobId); final ApplicationId appID = ApplicationId.newInstance(Long.parseLong(jobID.getJtIdentifier()), jobID.getId()); final String baseStr = ContainerLocalizer.USERCACHE + "/" + user + "/" + ContainerLocalizer.APPCACHE + "/" + appID.toString() + "/output" + "/"; return baseStr; }
private String getBaseLocation(String jobId, String user) { final JobID jobID = JobID.forName(jobId); final ApplicationId appID = ApplicationId.newInstance(Long.parseLong(jobID.getJtIdentifier()), jobID.getId()); final String baseStr = ContainerLocalizer.USERCACHE + "/" + user + "/" + ContainerLocalizer.APPCACHE + "/" + ConverterUtils.toString(appID) + "/output" + "/"; return baseStr; }
private String getBaseLocation(String jobId, String user) { final JobID jobID = JobID.forName(jobId); final ApplicationId appID = ApplicationId.newInstance(Long.parseLong(jobID.getJtIdentifier()), jobID.getId()); final String baseStr = ContainerLocalizer.USERCACHE + "/" + user + "/" + ContainerLocalizer.APPCACHE + "/" + ConverterUtils.toString(appID) + "/output" + "/"; return baseStr; }
/** * Get the events list at the tasktracker */ public MapTaskCompletionEventsUpdate getMapTaskCompletionEventsUpdates(int index, JobID jobId, int max) throws IOException { String jtId = jobTracker.getJobTracker().getTrackerIdentifier(); TaskAttemptID dummy = new TaskAttemptID(jtId, jobId.getId(), TaskType.REDUCE, 0, 0); return taskTrackerList.get(index).getTaskTracker() .getMapCompletionEvents(jobId, 0, max, dummy); }
/** * Get the events list at the tasktracker */ public MapTaskCompletionEventsUpdate getMapTaskCompletionEventsUpdates(int index, JobID jobId, int max) throws IOException { String jtId = jobTracker.getJobTracker().getTrackerIdentifier(); TaskAttemptID dummy = new TaskAttemptID(jtId, jobId.getId(), false, 0, 0); return taskTrackerList.get(index).getTaskTracker() .getMapCompletionEvents(jobId, 0, max, dummy, null); }
new TaskAttemptID(jtIdentifier, jobId.getId(), TaskType.MAP, 1, 0); createTask();