2016-04-27 96 views
0

我想使用Runtime.exec从JAVA运行hadoop jar命令。 下面是示例代码:使用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().exe被使用的方式是错误的吗?

回答

1

替换以下命令在命令:

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

我的档案在HADOOP_HOME还需要吗? – amod

+0

如果你的工作目录是HADOOP_HOME,并且你正在运行它,所以它不需要 –

+1

你确定这是运行这个命令的正确方法,因为我没有看到这个工作。这也没有给我一个错误或什么。 – amod

1

给,你所定义的驱动程序代码的类名。

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