Я ищу способ сбора всех счетчиков и метрик отдельных заданий хаоопа, управляемых событиями, для хранения всех этих данных в elasticsearch для последующего поиска и устранения неисправностей и анализа.Сбор счетчиков и метрик отдельных рабочих заданий
В настоящее время я нашел несколько методов, которые могли бы, казалось, чтобы соответствовать требованиям:
Использование метрических экспортеров, особенно, ContainerMetrics, что позволяет получить для каждого контейнера памяти и использование центрального процессора и MRAppMetrics, но один агрегаты все показатели для всех заданий.
Опрос MR History Server с его REST API, который довольно прост, но требует много HTTP-вызовов для сбора всех счетчиков для заданий, задач и их попыток.
Подключив дополнительный обычай EventHandler в случае MRAppMaster «s dispatcher, но MRAppMaster не соответствующие механизмы для регистрации пользовательских обработчиков событий.
Использование черной магии javaagents (java instrumentation api), модификаций байт-кода и аналогичных функций для перехвата всех исполнений метода EventHandler#handle(T). Этот способ должен быть способен решить все требования, но требует дополнительной настройки MR-заданий, разработки и регистрации javaagent и, как правило, представляется довольно сложным.
Итак, я хотел бы спросить, существуют ли еще более простые способы сбора показателей и счетчиков отдельных рабочих заданий?
Экспорт с метрическими раковинами довольно прост, но как создавать и регистрировать новые источники метрик для сбора, например, пользовательских счетчиков заданий? – szhem
Внедрение MetricsSource также является простым, http://hadoop.apache.org/docs/r2.7.3/api/org/apache/hadoop/metrics2/package-summary.html – patrungel
Как подать этот недавно реализованный MetricsSource на пользовательские счетчики работы? Возьмем в качестве примера MRAppMetrics. Экземпляры этого класса используются непосредственно в [MRAppMaster] (https://github.com/apache/hadoop/blob/release-2.7.1/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client- app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java # L190), JobImpl, MapTaskImpl, ReduceTaskImpl и т. д. Таким образом, кажется, что его вряд ли можно подключить пользовательский источник метрики в фреймворк для сбора счетчиков заданий. – szhem