Прежде всего, я использую Hadoop-2.6.0. Я хочу запустить мастер приложения на определенном наборе узлов в кластере YARN, так как некоторые из узлов в моем кластере являются амазонокными станками и могут быть потеряны в любое время. Есть ли способ, с помощью которого я могу запустить мастер приложения только на определенном наборе машин?Запуск приложения на конкретном узле в кластере Hadoop
0
A
ответ
0
Да Определенно, вы можете запустить AM на определенном узле!
ApplicationSubmissionContext обеспечивает функцию setAMContainerResourceRequest где вы можете передать ResourceRequest объект вашего AM, В ResourceRequest объект, который вы можете установить «ложный» флаг RelaxLocality, который говорит ResourceManager, если приложение хочет локальность быть свободной (т.е. позволяет fall- до стойки или любой) или строгие (т. е. указать жесткое ограничение на распределение ресурсов). Затем укажите имя хоста, используя setResourceName.
Кроме того, если вам нужна помощь в запросе AM, обратитесь к Distributed Shell Example Надеюсь, это поможет!