2015-06-18 2 views
0

Я пытаюсь использовать Oozie с Java, чтобы начать работу в кластере Hadoop. У меня очень ограниченный опыт работы с Oozie на Hadoop 1, и теперь я изо всех сил пытаюсь сделать то же самое на YARN.Oozie on YARN - oozie не разрешено олицетворять hadoop

Я дал машину, которая не принадлежит к группе, поэтому, когда я пытаюсь начать свою работу, я получаю следующее исключение:

E0501 : E0501: Could not perform authorization operation, User: oozie is not allowed to impersonate hadoop 

Почему это и что делать?

Я читал немного о свойствах ядра-сайтов, которые должны быть установлены

<property> 
    <name>hadoop.proxyuser.oozie.groups</name> 
    <value>users</value> 
</property> 

<property> 
    <name>hadoop.proxyuser.oozie.hosts</name> 
    <value>master</value> 
</property> 

кажется ли, что это проблема? Должен ли я связаться с людьми, ответственными за кластер, чтобы это исправить?

Могут ли быть проблемы, потому что я использую тот же код для YARN, что и для Hadoop 1? Что-то изменилось? Например, я устанавливаю имяNode и jobTracker в workflow.xml, должен ли jobTracker существовать, так как теперь есть ResourceManager? Я установил адрес ResourceManager, но оставил имя свойства как jobTracker, может быть, это ошибка?

Может быть, я должен также упомянуть, что Ambari используется ...

ответ

0

Привет, пожалуйста, обновите ядро-site.xml

<property> 
    <name>hadoop.proxyuser.hadoop.groups</name> 
    <value>*</value> 
</property> 

<property> 
    <name>hadoop.proxyuser.hadoop.hosts</name> 
    <value>*</value> 
</property> 

и JobTracker адрес является Resourcemananger адрес, который не будет иметь место. после обновления файла core-site.xml он будет работать.

+0

Благодарим вас за ответ, но это не позволит любому пользователю отправлять рабочие процессы с помощью Oozie? Я только один из пользователей Oozie, я не думаю, что администраторы кластера разрешат эту настройку ... Есть ли способ выдавать себя за другого пользователя во время работы с Java-кодом? – Marko

+0

вы пытаетесь отправить задание в пользователя «hadoop»! то вы можете добавить пользователя «hadoop» пользователю «oozie». здесь «hadoop» - это OOZIE_SERVER_HOSTNAME, поэтому мы должны добавить пользователя. – karthik

+0

Итак, вы говорите, что в конфигурации должно быть hadoop.proxyuser.hadoop.hosts *? Можно ли выполнить -do как от java-кода? Какое свойство указать? – Marko

0

Причина: Причина данного типа ошибки: вы используете сервер oozie как пользователь hadoop, но вы определяете oozie как прокси-пользователя в файле core-site.xml.

Решение:

изменить владение каталога установки oozie пользователю oozie и запустить сервер oozie как пользователь oozie и проблема будет решена.

Смежные вопросы