Running hadoop jar command from JAVA using Runtime

2019-09-10 08:07发布

问题:

I am trying to run an hadoop jar command from JAVA using Runtime.exec. Below is the sample code:

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

However I am not getting the desired output. Below is my hadoop command which I want to execute from JAVA:

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

I am not getting any exception as well. Is the way Runtime.getRuntime().exec is used is wrong?

回答1:

Replace your command with following command:

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


回答2:

Give the class name where you defined the driver code.

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