2014-02-25 2 views
1

Мне нужно добавить -Djava.awt.headless=true во все процессы Java Hadoop. В противном случае процесс уничтожается для доступа к серверу окон.Hadoop - где разместить глобальные флаги Java

Я пробовал всюду и не могу найти, где эти флаги должны быть применены. Мне удалось запустить его для большинства базовых процессов, но один процесс ускользает от меня. Этот процесс составляет MRAppMaster.

Независимо от того, что я делаю, MRAppMaster бежит без безголовый флага. Документация, так же ужасающая, как мне кажется, не имеет права говорить об этом, насколько я могу судить.

Если это место, этот флаг может быть применен, я был бы признателен. Я запускаю Hadoop 2.2.0 на Mac OS 10.9.

+0

Вы хотите поделиться некоторыми флагами между процессами преобразования карт или редукторами задания MR? –

+0

@AnkurShanbhag Я хочу убедиться, что флаги установлены там, где они должны быть. Для следующего _step_ в процессе отладки мне нужно установить флаги для MRAppMaster. Но если я могу установить глобальные флаги, это обеспечит, что мне не нужно беспокоиться о том, чтобы пропустить процесс. Если я это сделаю, ошибка сервера окон Java приведет к сбою всякий раз, когда он пытается запустить что-либо без этого флага. –

+0

А? Hadoop и Swing/AWT? – Chiron

ответ

2

MRAppMaster имеет значение YARN. В любом случае, вы можете передать java-заявку владельцу приложения через свойство, называемое yarn.app.mapreduce.am.command-opts. Вы можете установить его в файле config config конфигурации, mapred-site.xmlнеyarn-site.xml, как можно догадаться).

От here:

yarn.app.mapreduce.am.command-КЛЮЧ

Java выбирает для Главных процессов MR App.

+0

Спасибо! Если бы была только какая-то приличная документация ... :( –