2012-10-03 3 views
5

Я установил псевдораспределенную версию Cloudera на своем Linux-ящике и успешно использовал некоторые простые примеры MapReduce. Тем не менее, я пытаюсь получить Oozie работать, и я совершенно сбит с толку ошибки я получаю при попытке выполнить простой рабочий процесс задания:Каталог приложений для настройки работы Oozie не найден на HDFS

[email protected]:~$ oozie version 
Oozie client build version: 3.1.3-cdh4.0.1 

Скопируйте расфасованных примеры в HDFS и выполнить, в документация:

[email protected]:~$ oozie job -oozie http://phocion:11000/oozie -config /user/tim/examples/apps/map-reduce/job.properties -run 
Error: E0504 : E0504: App directory [hdfs://phocion:8020/user/tim/examples/apps/map-reduce] does not exist 

Проверьте, существует ли файл:

[email protected]:~$ hdfs dfs -ls /user/tim/examples/apps/map-reduce 
Found 3 items 
-rwxr-xr-x 1 tim tim  995 2012-10-03 14:47 /user/tim/examples/apps/map-reduce/job.properties 
drwxrwxr-x - tim tim  4096 2012-10-03 14:47 /user/tim/examples/apps/map-reduce/lib 
-rwxr-xr-x 1 tim tim  2559 2012-10-03 14:47 /user/tim/examples/apps/map-reduce/workflow.xml 

Это делает. Могу ли я подключиться к phocion: 8020?

[email protected]:~$ telnet phocion 8020 
Trying 127.0.1.1... 
Connected to phocion. 
Escape character is '^]'. 

Я могу. Итак, в основном, я в полной мере теряю то, что эта ошибка пытается сказать мне - папка очень много. Я предполагаю, что ошибка слишком расплывчата, чтобы полностью сообщить, в чем проблема, но я практически ничего не нашел там, что могло бы указать мне в правильном направлении.

Я также могу воспроизвести эту ошибку другими учебниками третьей стороны.

Прошло много времени, просачиваясь через конфигурационные файлы, чтобы не хотеть снова смотреть на компьютер. Может быть, я передумал, рассматривая эту проблему здесь, но любая помощь будет очень признательна.

EDIT: Добавление полных job.properties (не слишком отличающиеся от значений по умолчанию):

nameNode=hdfs://phocion:8020 
jobTracker=phocion:8021 
queueName=default 
examplesRoot=examples 
oozie.wf.application.path=${nameNode}/user/${user.name}/${examplesRoot}/apps/map-reduce 
outputDir=map-reduce 

БОЛЬШЕ редактирует: я получаю ту же самую точную ошибку, если папка не существует, и после того, как я положил обратно, если в hdfs. Последняя идея о том, что проблема с разрешениями, chmod 777 по-прежнему получает ту же ошибку. Полный путь HDFS, переданный в командной строке, не устраняет проблему. Запуск его под учетной записью oozie и даже с корневым аккаунтом не работает:

[email protected]:~$ oozie job -oozie http://phocion:11000/oozie -run -config /home/tim/examples/apps/map-reduce/job.properties -Doozie.wf.application.path=hdfs://phocion:8020/user/tim/examples/apps/map-reduce 
Error: E0504 : E0504: App directory [hdfs://phocion:8020/user/tim/examples/apps/map-reduce] does not exist 
[email protected]:~$ hdfs dfs -put examples/ /user/tim/ 
12/10/04 13:26:43 INFO util.NativeCodeLoader: Loaded the native-hadoop library 
[email protected]:~$ oozie job -oozie http://phocion:11000/oozie -run -config /home/tim/examples/apps/map-reduce/job.properties -Doozie.wf.application.path=hdfs://phocion:8020/user/tim/examples/apps/map-reduce 
Error: E0504 : E0504: App directory [hdfs://phocion:8020/user/tim/examples/apps/map-reduce] does not exist 
[email protected]:~$ hdfs dfs -chmod -R 777 /user/tim/examples/ 
12/10/04 13:28:16 INFO util.NativeCodeLoader: Loaded the native-hadoop library 
[email protected]:~$ oozie job -oozie http://phocion:11000/oozie -run -config /home/tim/examples/apps/map-reduce/job.properties -Doozie.wf.application.path=hdfs://phocion:8020/user/tim/examples/apps/map-reduce 
Error: E0504 : E0504: App directory [hdfs://phocion:8020/user/tim/examples/apps/map-reduce] does not exist 
[email protected]:~$ sudo -u oozie oozie job -oozie http://phocion:11000/oozie -run -config /home/tim/examples/apps/map-reduce/job.properties -Doozie.wf.application.path=hdfs://phocion:8020/user/tim/examples/apps/map-reduce 
[sudo] password for tim: 
Error: E0504 : E0504: App directory [hdfs://phocion:8020/user/tim/examples/apps/map-reduce] does not exist 
[email protected]:~$ sudo -u root oozie job -oozie http://phocion:11000/oozie -run -config /home/tim/examples/apps/map-reduce/job.properties -Doozie.wf.application.path=hdfs://phocion:8020/user/tim/examples/apps/map-reduce 
Error: E0504 : E0504: App directory [hdfs://phocion:8020/user/tim/examples/apps/map-reduce] does not exist 

Должен ли эта команда работать теоретически?

[email protected]:~$ hdfs dfs -ls hdfs://phocion:8020/user/tim/examples/apps/map-reduce 
ls: `hdfs://phocion:8020/user/tim/examples/apps/map-reduce': No such file or directory 

Это проявляется в Hadoop-HDFS журналов после выполнения команды oozie:

2012-10-04 13:50:00,152 INFO org.apache.hadoop.hdfs.server.namenode.FSEditLog: Starting log segment at 113297 
2012-10-04 13:50:00,874 INFO org.apache.hadoop.hdfs.server.namenode.TransferFsImage: Opening connection to http://localhost.localdomain:50090/getimage?getimage=1&txid=113296&storageInfo=-40:2092007576:0:cluster8 
2012-10-04 13:50:00,875 ERROR org.apache.hadoop.security.UserGroupInformation: PriviledgedActionException as:hdfs (auth:SIMPLE) cause:java.net.ConnectException: Connection refused 
2012-10-04 13:50:00,876 WARN org.mortbay.log: /getimage: java.io.IOException: GetImage failed. java.net.ConnectException: Connection refused 
     at java.net.PlainSocketImpl.socketConnect(Native Method) 
     at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351) 
     at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213) 
     at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200) 
     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) 
     at java.net.Socket.connect(Socket.java:529) 
     at java.net.Socket.connect(Socket.java:478) 
     at sun.net.NetworkClient.doConnect(NetworkClient.java:163) 
     at sun.net.www.http.HttpClient.openServer(HttpClient.java:395) 
     at sun.net.www.http.HttpClient.openServer(HttpClient.java:530) 
     at sun.net.www.http.HttpClient.<init>(HttpClient.java:234) 
     at sun.net.www.http.HttpClient.New(HttpClient.java:307) 
     at sun.net.www.http.HttpClient.New(HttpClient.java:324) 
     at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:970) 
     at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:911) 
     at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:836) 
     at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1172) 
+2

Как указано в разделе «Выполнение примеров» документов Oozie по адресу http://archive.cloudera.com/cdh4/cdh/4/oozie/DG_Examples.html#Running_the_Examples, можете ли вы попробовать передать правильный локальный путь to -config в CLI вместо пути HDFS-стиля? -Config ожидает, что свойства будут локально доступным, настраиваемым файлом, а не внутри HDFS. –

+0

@ Harsh-J Цените помощь. У меня был -config указатель на файл конфигурации за пределами HDFS. Те же ошибки: тим @ Фокиона: ~ $ oozie работа -oozie HTTP: // Фокион: 11000/oozie -config /home/tim/examples/apps/map-reduce/job.properties -run Ошибка: E0504: E0504: Каталог приложений [hdfs: // phocion: 8020/user/tim/examples/apps/map-reduce] не существует – phocion

+0

Можете ли вы проверить конфигурацию Hadoop ('/ etc/hadoop/conf/* - site.xml') для следующего свойства: 'fs.defaultFS' >> это префикс, используемый, когда вы явно не упоминаете« hdfs: // host: port/home/dir/»или« hdfs: // HA_alias/home/dir/" –

ответ

1

В дополнении к комментарию HarshJ, проверьте ваше сообщение об ошибке:

Error: E0504 : E0504: App directory [hdfs://phocion:8020/user/tim/examples/apps/demo] does not exist 

И в Hadoop фс -ls, в котором вы указали:

/user/tim/examples/apps/map-reduce/ 

И играть заметить разницу:

/user/tim/examples/apps/demo 
/user/tim/examples/apps/map-reduce/ 

попробуйте настроить следующим образом:

oozie.wf.application.path=/user/tim/examples/apps/map-reduce 
+0

Спасибо за ответ. Моя ошибка - я тестировал два разных примера и смешал вставку здесь. Я получаю ошибку как с map-reduce /, так и с demo /, и они оба существуют. Я также попытался изменить путь к приложению, как вы предложили для многих разных путей - и HDFS, и нет. Такая же ошибка. – phocion

+0

Можете ли вы вставить содержимое своего файла job.properties в исходный вопрос? вы пробовали 'oozie job -run -Doozie.wf.application.path =/user/tim/examples/apps/map-reduce' –

+0

То же прохождение ошибки в параметре через командную строку: tim @ phocion: ~ $ oozie job - oozie http: // phocion: 11000/oozie -run -Doozie.wf.application.path =/user/tim/examples/apps/map-reduce -config/home/tim/examples/apps/map-reduce/job. свойства Ошибка: E0504: E0504: Каталог приложений [/ user/tim/examples/apps/map-reduce] не существует – phocion

-1

Что вам нужно сделать, это -copyFromLocal примеры папку по адресу, указанному в конфигурации рабочих мест.

0

У меня была такая же проблема, и я получил исправление, экспортировав правильный url oozie.

Для экспорта следует использовать следующую команду

export OOZIE_URL=http://someip:11000/oozie 

Чтобы получить эту oozie URL вам нужно использовать оттенок для подключения кластеризации и перейти к Workflows, где вы можете найти вкладку под названием oozie. Внутри этого вы должны увидеть датчики, где будет указано много свойств. Ищите недвижимость oozie.servers.