2016-08-04 23 views
1

Ich versuche, eine Datei von HDFS ein Verzeichnis in ein anderes Verzeichnis in HDFS zu kopieren, mit Hilfe von Shell-Skript als Teil von Oozie Job, aber ich bin nicht in der Lage, es durch oozie zu kopieren.Datei von HDFS in ein anderes Verzeichnis in HDFS mit OOZIE?

Können wir Datei von HDFS ein Verzeichnis in andere Director in HDFS mit Oozie kopieren.

when i am running the oozie job, i am not any getting error. 

it is showing status SUCCEEDED but file is not copying to destination directory. 

oozie Dateien sind unten.

test.sh

#!/bin/bash 
echo "listing files in the current directory, $PWD" 
sudo hadoop fs -cp /user/cloudera/RAVIOOZIE/input/* /user/cloudera/RAVIOOZIE/output/ 
ls # list files 

mein workflow.xml ist

<workflow-app name="RAMA" xmlns="uri:oozie:workflow:0.5"> 
<start to="shell-381c"/> 
<kill name="Kill"> 
    <message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message> 
</kill> 
<action name="shell-381c"> 
    <shell xmlns="uri:oozie:shell-action:0.1"> 
     <job-tracker>${jobTracker}</job-tracker> 
     <name-node>${nameNode}</name-node> 
     <exec>/user/cloudera/test.sh</exec> 
     <file>/user/cloudera/test.sh#test.sh</file> 
      <capture-output/> 
    </shell> 
    <ok to="End"/> 
    <error to="Kill"/> 
</action> 
<end name="End"/> 

und meine job.properties

oozie.use.system.libpath=True 
security_enabled=False 
dryrun=True 
jobTracker=localhost:8032 
nameNode=hdfs://quickstart.cloudera:8020 
oozie.wf.application.path=${nameNode}/user/cloudera/test/ 

bitte auf diese Hilfe. Warum kopiert die Datei nicht zu meinem Zieldirektor?

Bitte lassen Sie mich wissen, gibt es etwas, was ich vermisst habe.

+0

Ihre Workflow.xml und Shell-Skript sieht gut aus. Möglicherweise müssen Sie sorgfältig nach Fehlern suchen - selbst wenn dies erfolgreich lautet. Wird Ihre Echo-Anweisung im Shell-Skript gedruckt? – sorabh

+0

Ich kann Echo-Anweisungen in "Jobhistory/logs" sehen, aber es zeigt keinen Fehler. Es zeigt im Protokoll "Oozie Launcher, Erfassen von Ausgabedaten: =========================== ========= hallo, cloudera Ich möchte einige Dateien von dir auflisten Auflistung von Dateien im aktuellen Verzeichnis,/var/lib/hadoop-Garn/Cache/Garn/nm-local-dir/usercache/cloudera/appcache/application_1470284226059_0022/container_1470284226059_00ror.ie " –

+1

Ihre Frage ist mit *" Datei verschieben "* markiert, aber in Ihrem Beitrag geht es um * Kopieren von Dateien *. Wenn Sie diese Dateien wirklich ** verschieben möchten, sollten Sie die native Oozie ** HDFS-Aktion ** https://oozie.apache.org/docs/4.2.0/WorkflowFunctionalSpec.html#a3.2.4_Fs_HDFS_action ausprobieren –

Antwort

0

Wie in den Kommentaren von @Samson erwähnt:

Wenn Sie hadoop Aktionen mit Oozie tun wollen, sollten Sie eine hdfs action eher als ein Shell-Aktion für diese Verwendung.


Ich bin nicht sicher, warum Sie nicht über einen Fehler, aber hier gibt einige Spekulationen darüber, was passieren könnte:

Sie geben Oozie die Aufgabe, eine Shell-Aktion zu starten, beginnt er erfolgreich die Schale Aktion und meldet einen Erfolg. Dann schlägt die Shell-Aktion fehl, aber das ist kein Problem.