Установить пользователя системы hadoop для клиента, встроенного в веб-приложение Java

Я хотел бы отправить задания MapReduce из веб-приложения Java в удаленный кластер Hadoop, но не могу указать, для какого пользователя должно быть отправлено задание. Я хотел бы настроить и использовать системного пользователя, который должен использоваться для всех заданий MapReduce.

В настоящее время я не могу указать ни одного пользователя, и независимо от того, какое задание hadoop выполняется под именем пользователя, вошедшего в систему в данный момент в клиентской системе. Это вызывает ошибку с сообщением

Permission denied: user=alice, access=WRITE, inode="staging":hduser:supergroup:rwxr-xr-x

... где "Алиса" является локальным, вошедшим в систему пользователем на клиентском компьютере.

я пытался

various combinations of creating UserGroupInformation instances (both proxies and normal user) and setting the Java System property with -Duser.name=hduser, changing the USER envar and as a hard coded System.setProperty("user.name", "hduser") call.

... но безрезультатно. Относительно 1) Я признаю, что понятия не имею, как эти классы должны использоваться. Также обратите внимание, что изменение свойства Java System, очевидно, не является реальным решением для использования в веб-приложении.

Does any body know how you specify which user Hadoop uses to connect to a remote system?

PS / Hadoop использует конфигурацию по умолчанию, что означает, что при подключении к кластеру аутентификация не используется, а Kerberos не используется при обмене данными с удаленными компьютерами.

Ответы на вопрос(3)

Ваш ответ на вопрос