У меня есть кластер, на котором работает YARN. Он имеет 3 узла данных и 1 клиентский узел. Я отправляю все свои задания на клиентский узел. Как я могу получить прошедшее время для всех задач в конкретном задании.
Вероятно, RESTful API (https://hadoop.apache.org/docs/r2.4.1/hadoop-yarn/hadoop-yarn-site/MapredAppMasterRest.html). Но мне любопытно узнать, есть ли какой-либо Java API, чтобы сделать то же самое.
Я могу найти время начала для всех задач, используя метод getStartTime() класса TaskReport. Хотя время узлов в кластерах синхронизировано с использованием NTP, я не думаю, что было бы хорошей практикой использовать текущее время клиентской системы (System.currentTimeMillis()) для расчета прошедшего времени для выполнения задач. отставание, связанное со всеми узлами в кластере, даже в NTP.
FinishTime - StartTime
, оно измеряется на том же хосте. - person Thomas Jungblut   schedule 19.07.2015