Запрос топологии метки узла из Yarn через REST API [MapR 6.1 / Hadoop-2.7] - PullRequest
1 голос
/ 06 июня 2019

Существует Java и CLI-интерфейс для запроса Yarn RM о сопоставлениях между узлами и ярлыками (и обратными).Есть ли способ сделать это через REST-API?Первоначальный поиск в RM-API выявил в качестве опции только отправку заданий на основе метки узла.

К сожалению, это фактически не работает в MapR-Hadoop (6.1 по состоянию на 6/6/19), поэтому мой код должен работатьвокруг этого, путем реализации правильного планирования самого.Это работает (чуть-чуть - здесь больше и неработающих API) с использованием Java API YarnClient.

Но так как я хочу планировать задания для разных менеджеров ресурсов одновременно, за брандмауэрами, REST-API является наиболееубедительная возможность добиться этого, и бэкэнд RPC API YarnClient не может быть легко перенесен.

Мое текущее решение для наихудшего случая было бы каким-то образом проанализировать YARN-WebUI.

1 Ответ

0 голосов
/ 12 июня 2019

Единственное решение, которое я нашел до сих пор: Запрос /ws/v1/cluster/nodes - это возвращает вас ко всем узлам.

FlatMap / Distinct на каждом node nodeLabels, если вам нужен только список узловэтикетки.Фильтруйте по nodeLabel, если вам нужны все узлы для указанной метки.

Это означает, что вам всегда нужно запрашивать все узлы, а затем сортировать / фильтровать / упорядочивать по NodeLabels,что очень много волшебства на стороне клиента.Но, очевидно, нет GetNodesToLabel или даже GetClusterNodeLabels, чтобы помочь нам.

Я предполагаю, что getLabelsToNodes - это просто клиентреализация со стороны, так как протокол не определяет API, так что это прямо в окно для REST, если не реализовано в WebService.

...