运行 来自 JAVA 使用 Runtime.exec 的 hadoop jar 命令

Running hadoop jar command from JAVA using Runtime.exec

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

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");

给出您定义驱动程序代码的 class 名称。

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