使用Runtime.exec从JAVA运行hadoop jar命令

使用Runtime.exec从JAVA运行hadoop jar命令,java,hadoop,runtime,runtime.exec,Java,Hadoop,Runtime,Runtime.exec,我正在尝试使用Runtime.exec从JAVA运行hadoop jar命令。 下面是示例代码: Runtime.getRuntime().exec(new String[]{"bin/hadoop", "jar /home/hadoop/jar/test.jar /user/hduser/myinput/input /user/hduser/newoutput"}); 然而,我没有得到想要的输出。下面是我想从JAVA执行的hadoop命令: bin/hadoop jar /home/hado

我正在尝试使用Runtime.exec从JAVA运行hadoop jar命令。 下面是示例代码:

Runtime.getRuntime().exec(new String[]{"bin/hadoop", "jar /home/hadoop/jar/test.jar /user/hduser/myinput/input /user/hduser/newoutput"});
然而,我没有得到想要的输出。下面是我想从JAVA执行的hadoop命令:

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

我也没有得到任何例外。Runtime.getRuntime().exec的使用方式是否错误?

用以下命令替换您的命令:

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

将命令替换为以下命令:

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

给出定义驱动程序代码的类名

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

给出定义驱动程序代码的类名

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

我的文件在HADOOP_HOME中,是否仍然需要它?如果您的工作目录是HADOOP_HOME,并且您正在其中运行,那么它就不需要了。您确定这是运行此命令的正确方式吗,因为我看不到它在工作。我的文件在HADOOP_HOME中,还需要它吗?如果你的工作目录是HADOOP_HOME,并且你正在其中运行,那么它就不需要了。你确定这是运行这个命令的正确方式吗,因为我看不到它在工作。这也不是给我一个错误或什么。