2016-10-12 3 views
0

Я пытался использовать диспетчер ресурсов api в hadoop для отправки заданий (как указано в http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html#Cluster_Writeable_APIs).API-интерфейс Resource Manager с использованием пользователя по умолчанию - webuser

Когда я пытаюсь представить работу, от любого пользователя (скажем, Hadoop), он получает представлен в качестве пользователя - WebUser и приложение завершается с сообщением,

org.apache.hadoop.security .AccessControlException: Пользователь не WebUser могут подавать заявки в очереди ...

Когда я смотрю в конфигурационные файлы Hadoop, я не вижу никакого упоминания о WebUser. Также нет локального веб-браузера.

Откуда этот пользователь получает? Как отправить задание через диспетчера ресурсов в качестве исходного пользователя и продолжить работу с приложением?

Любые рекомендации по этому вопросу приветствуются. Благодаря!


Редактировать 1 - Добавление ввода для вызова. Приложение принимается.

{ 
"application-id": "application_1476245592339_0001", 
"application-name": "rm-mr-test", 
"queue": "default", 
"am-container-spec": { 
"commands": { 
    "command": "hadoop jar /usr/hdp/2.3.0.0-2557/hadoop-mapreduce/hadoop-mapr educe-examples.jar teragen 100 /tmp/rm-api-test/1" 
}, 
"unmanaged-AM": false, 
"max-app-attempts": 2, 
"resource": { 
    "memory": 2250, 
    "vCores": 8 
}, 
"application-type": "MAPREDUCE", 
"keep-containers-across-application-attempts": false 
} 
} 
+0

Проверить это http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html#Cluster_Application_Queue_API – BruceWayne

+0

@KrishnaChaitanyaReddy, это для получения/изменения очереди приложения. Я что-то упустил? Могли бы вы объяснить? – Krishna

+0

Попробуйте «queue»: «root.default» – BruceWayne

ответ

0

WebUser используется, когда звонки сделаны анонимно. Без анонимного использования можно вызвать услугу как предполагаемый пользователь.