2016-04-27 14 views
0

Ich versuche, einen Hadoop jar Befehl von JAVA mit Runtime.exec ausführen. Unten finden Sie die Beispielcode:Ausführen von hadoop jar Befehl von JAVA mit Runtime.exec

Runtime.getRuntime().exec(new String[]{"bin/hadoop", "jar /home/hadoop/jar/test.jar /user/hduser/myinput/input /user/hduser/newoutput"}); 

Jedoch habe ich nicht die gewünschte Ausgabe bin immer. Unten ist mein Hadoop-Befehl, den ich von JAVA ausführen möchte:

bin/hadoop jar /home/hadoop/jar/test.jar /user/hduser/myinput/input /user/hduser/newoutput 

Ich bekomme keine Ausnahme auch. Wird Runtime.getRuntime() .exec falsch verwendet?

Antwort

1

Ersetzen Sie Ihren Befehl mit folgenden Befehl ein:

Runtime.getRuntime().exec("HADOOP_HOME/bin/hadoop jar /home/hadoop/jar/test.jar /user/hduser/myinput/input /user/hduser/newoutput"); 
+0

Meine Datei ist in HADOOP_HOME ist es noch benötigt? – amod

+0

Wenn Ihr Arbeitsverzeichnis HADOOP_HOME ist und Sie darin ausgeführt werden, wird es nicht benötigt –

+1

Sind Sie sicher, dass es der richtige Weg ist, diesen Befehl auszuführen, weil ich nicht sehe, dass das funktioniert. Es wirft mir auch keinen Fehler oder etwas zu. – amod

1

Geben Sie den Namen der Klasse, wo Sie den Treiber-Code definiert.

bin/hadoop jar /home/hadoop/jar/test.jar Package_name.className /user/hduser/myinput/input /user/hduser/newoutput