Назад | Перейти на главную страницу

Выполняете задания hadoop на Cloudera 3 как обычный пользователь?

Глядя на инструкции по установке Cloudera, я не вижу упоминания о том, как запускать задания от имени обычных пользователей.

Когда я пытаюсь выполнить пробное задание, я получаю следующее:

hadoop jar /usr/lib/hadoop/hadoop-*-examples.jar pi 2 100000
Number of Maps  = 2
Samples per Map = 100000
Wrote input for Map #0
Wrote input for Map #1
Starting Job
org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security.AccessControlException: Permission denied: user=myuser, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-x

Одним из решений может быть установка разрешений «/», чтобы разрешить запись всем пользователям.

Еще одно решение, которое я вижу в Интернете, - установить свойство mapreduce.jobtracker.staging.root.dir но я не уверен, где это установлено: http://getsatisfaction.com/cloudera/topics/unable_to_run_mapreduce_job_in_cdh3_cluster_permission_denied

Я предполагаю, что существует стандартный способ обработки (т.е. не все пользователи, выполняющие задания hadoop, имеют root-доступ, а также не оставляют разрешения корневого широко открытого стандарта HDFS)

Изменить: все еще застрял на этом, но я повторно отправил вопрос в список рассылки Cloudera .. надеюсь, что кто-то там или здесь ответит :) спасибо!

Мне удалось заставить это работать со следующей настройкой:

<configuration>
    <property>
        <name>mapreduce.jobtracker.staging.root.dir</name>
        <value>/user</value>
    </property>

    #...

</configuration>

Также требуется перезапуск службы отслеживания вакансий (особая благодарность Джеффу в списке рассылки Hadoop за помощь в обнаружении проблемы!)