2013-11-06 1 views
1

Я работаю над проектом Hadoop (в настоящее время использующим hasoop 1.2.1), где мне нужно отслеживать информацию о времени выполнения задачи и какие машины выполняют задачи хорошо. Я могу получить о ходе выполнения задачи, используя следующие:Как связать задачу назад с машиной, на которой они были запущены в Hadoop

RunningJob runningJob = JobClient.runJob(conf); 
JobStatus jobStatus = runningJob.getJobStatus(); 

Отсюда я могу получить JobTracker и получить прогресс карты задачи:

TaskReport[] mapTaskReports = tracker.getMapTaskReports(); 

Но теперь, когда у меня есть отчеты задачи, я не как узнать, какие машины выполняются/выполняются. Есть ли какая-либо идентифицирующая машина информация, которую я могу получить (имя машины, IP-адрес и т. Д.) И иметь возможность связать ее с этими отчетами о заданиях?

ПРИМЕЧАНИЕ. Мне нужно иметь возможность делать это сопоставление с заданием, которое все еще выполняется, поэтому я могу принимать решения, основываясь на том, что некоторые машины плохо подготовлены к определенным задачам.

EDIT: Я думаю, что объект TaskTracker может иметь то, что я хочу, с его методом getHostName(), но я не уверен, как получить его экземпляр. Конструктор TaskTracker принимает объект JobConf, но он, похоже, не указывает, на какой машине он его получит, поскольку каждая машина, на которой выполняется задача для задания, будет иметь свой собственный экземпляр TaskTracker.

ответ

1

RunningJob имеет API, называемый getTaskCompletionEvents(), который возвращает массив TaskCompletionEvent.

Использование TaskCompletionEvent мы можем узнать HTTP-адрес Task Tracker.

Пожалуйста, попробуйте ниже код ..этот приведен пример code..not испытания

TaskCompletionEvent [] events = runningJob.getTaskCompletionEvents (0); 
for (TaskCompletionEvent event: events) { 
     System.out.println(event.getTaskTrackerHttp()); // host:port format 
} 
+0

Это выглядит многообещающим, но не только, что даст мне результаты для задач, которые уже завершены? Мне нужно будет найти отображение для выполняемых задач. – lehn0058

+0

Это самый близкий ответ на то, что я хотел сделать. – lehn0058

Смежные вопросы