2015-11-04 4 views
1

Я пробовал следующий запрос.Разрешение отрицания проблемы в mapreduce?

hadoop jar /home/cloudera/workspace/para.jar word.Paras examples/wordcount /home/cloudera/Desktop/words/output 

начало передачи снизу, после чего отображается его ошибка ниже. кто-нибудь может помочь по этой проблеме.

15/11/04 10:33:57 INFO mapred.JobClient: Task Id : attempt_201511040935_0008_m_000002_0, Status : FAILED 
org.apache.hadoop.security.AccessControlException: Permission denied: user=cloudera, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-x 

Нужно ли мне что-либо менять в любом конфигурационном файле или в менеджере cloudera.

+0

запрос является hadoop jar /home/cloudera/workspace/para.jar word.Paras examples/wordcount/home/cloudera/Рабочий стол/слова/вывод –

ответ

0

Исключение указывает на то, что вы пытаетесь записать в корневой каталог HDFS «/», который у вас (пользователя: cloudera) нет разрешения.

Не зная, что делает ваш конкретный баночка:

Я думаю, что последний аргумент («/ главная/Cloudera/Desktop/слова/выход»), где вы хотите поместить вывод.

Я предполагаю, что это должно быть в HDFS, где/home не существует.

Попробуйте изменить это куда-нибудь, где вы можете писать, возможно, «/ пользователь/Cloudera/слова/выход»

+0

Да, я изменил вывод как hdfs location.but теперь класс не найден. [cloudera @ localhost ~] $ hadoop jar /home/cloudera/workspace/para.jar word.Paras examples/wordcount examples/output3; 15/11/05 10:13:04 INFO mapred.JobClient: map 0% уменьшить 0% 15/11/05 10:13:18 INFO mapred.JobClient: Идентификатор задачи: попытка_201511050944_0005_m_000000_0, Статус: FAILED java.lang.RuntimeException: java.lang.ClassNotFoundException: Класс word.Paras $ Карта не найдена. Здесь слово - это имя пакета Paras - это имя класса, которое я проверил, выходной файл создается как журналы. как casn я исправить эту проблему. - Anbeswaran –

0

Там установлены каталогов по умолчанию будет создан, прежде чем начать использовать кластер Hadoop,

сделать, он должен показать вам директориии

$ hadoop fs -ls/

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

 
    /user/cloudera -- the user running the program 
    /user/hadoop  -- your hadoop file system user 
    /user/mapred  -- your mapred user 
    /tmp    -- temporary which needs to have permission hdfs chmod 1777 

HTH.

0

Последний аргумент, который вы передаете, должен быть выходным каналом HDFS, а не файловой системой по умолчанию.

Поскольку вы работаете с пользователем cloudera, вы можете указать на /user/cloudera/words/output. Но сначала вам нужно проверки ли у вас Cloudera в вашем HDFS и у вас есть разрешение на запись, выполнив следующую

hadoop fs -ls /user/ 

После того, как вы его изменить свою команду к следующему:

hadoop jar /home/cloudera/workspace/para.jar word.Paras examples/wordcount <path_where_you_have_write_permission_in_HDFS> 
+0

да я изменил вывод как hdfs location.but теперь класс не найден исключение. [cloudera @ localhost ~] $ hadoop jar /home/cloudera/workspace/para.jar word.Paras examples/wordcount examples/output3; 15.11.05 10:13:04 INFO отображается.JobClient: map 0% уменьшить 0% 15.11.05 10:13:18 INFO mapred.JobClient: Идентификатор задачи: попытка_201511050944_0005_m_000000_0, Статус: FAILED java.lang.RuntimeException: java.lang.ClassNotFoundException: Class word.Paras $ Карта не найдена. Здесь слово - это имя пакета Paras - это имя класса, которое я проверил, выходной файл создается как журналы. как casn я исправить эту проблему. –

+0

выглядит как проблема в вашей банке. надеюсь, что это поможет http://stackoverflow.com/questions/21373550/class-not-found-exception-in-mapreduce-wordcount-job –

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