Я установил псевдораспределенную версию 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)
Как указано в разделе «Выполнение примеров» документов Oozie по адресу http://archive.cloudera.com/cdh4/cdh/4/oozie/DG_Examples.html#Running_the_Examples, можете ли вы попробовать передать правильный локальный путь to -config в CLI вместо пути HDFS-стиля? -Config ожидает, что свойства будут локально доступным, настраиваемым файлом, а не внутри HDFS. –
@ 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
Можете ли вы проверить конфигурацию Hadoop ('/ etc/hadoop/conf/* - site.xml') для следующего свойства: 'fs.defaultFS' >> это префикс, используемый, когда вы явно не упоминаете« hdfs: // host: port/home/dir/»или« hdfs: // HA_alias/home/dir/" –