5

LinuxボックスにClouderaの疑似分散バージョンをインストールし、いくつかの簡単なMapReduceの例を実行して成功しました。しかし、私はOozieを機能させようとしており、単純なジョブワークフローを実行しようとしたときに受け取るエラーに完全に困惑しています。

tim@phocion:~$ oozie version
Oozie client build version: 3.1.3-cdh4.0.1

ドキュメントに従って、事前にパッケージ化された例をHDFSにコピーし、実行します。

tim@phocion:~$ 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

ファイルが存在するかどうかを確認します。

tim@phocion:~$ 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に接続できますか?

tim@phocion:~$ telnet phocion 8020
Trying 127.0.1.1...
Connected to phocion.
Escape character is '^]'.

私は出来ます。したがって、基本的に、このエラーが私に何を伝えようとしているのかについて、私は完全に途方に暮れています-フォルダは非常に存在します。エラーが曖昧すぎて問題が何であるかを完全に伝えることはできないと思いますが、正しい方向を示すことができるものはほとんど見つかりませんでした。

このエラーは、他のサードパーティのチュートリアルでも再現できます。

構成ファイルを注いで、コンピューターを二度と見たくないほどの時間を費やしました。たぶん私はここで問題を考えすぎているかもしれませんが、どんな助けでも大歓迎です。

編集:完全な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に戻した後、まったく同じエラーが発生します。パーミッションの問題であるという最後の考えであるchmod777でも同じエラーが発生します。コマンドラインで渡された完全なHDFSパスでは、問題は修正されません。oozieおよびrootアカウントでさえも機能しません:

tim@phocion:~$ 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
tim@phocion:~$ hdfs dfs -put examples/ /user/tim/
12/10/04 13:26:43 INFO util.NativeCodeLoader: Loaded the native-hadoop library
tim@phocion:~$ 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
tim@phocion:~$ hdfs dfs -chmod -R 777 /user/tim/examples/
12/10/04 13:28:16 INFO util.NativeCodeLoader: Loaded the native-hadoop library
tim@phocion:~$ 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
tim@phocion:~$ 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
tim@phocion:~$ 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

このコマンドは理論的には機能するはずですか?

tim@phocion:~$ 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

これは、oozieコマンドを実行した後にhadoop-hdfsログに表示されます。

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)
4

3 に答える 3

1

HarshJ のコメントに加えて、エラー メッセージを確認してください。

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

そして、あなたが提供した hadoop fs -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
于 2012-10-03T23:54:58.630 に答える
0

同じ問題があり、正しい Oozie URL をエクスポートすることで修正されました。

エクスポートするには、以下のコマンドを使用する必要があります

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

この oozie の URL を取得するには、hue を使用してクラスターに接続し、ワークフローに移動する必要があります。ワークフローには、 oozie. この中には、多くのプロパティがリストされるゲージが表示されます。プロパティoozie.serversを探します。

于 2017-02-07T06:48:38.020 に答える