从java执行hadoop示例jar文件

vuktfyat  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(449)

我正在ubuntu12.04和eclipse3.7上使用hadoop1.0.3,并且正在开发一个gui来使用windowbuiderpro执行hadoop作业。我需要从gui执行包含代码的jar文件。我已经成功地使用了runtime.getruntime.exec()方法。但是,虽然它确实执行特定于dfs的命令,但它不能执行.jar文件,就像发行版附带的piestimator一样。我的代码如下:

  1. JButton btnYrhtrdsf = new JButton("Start Daemons");
  2. btnYrhtrdsf.addMouseListener(new MouseAdapter()
  3. {
  4. @Override
  5. public void mouseClicked(MouseEvent e)
  6. {
  7. try { //WORKING
  8. Runtime.getRuntime().exec("/usr/local/hadoop/hadoop-1.0.3/bin/start-dfs.sh");
  9. Runtime.getRuntime().exec("/usr/local/hadoop/hadoop-1.0.3/bin/start-mapred.sh");
  10. }
  11. catch (IOException e1) {
  12. e1.printStackTrace();
  13. }
  14. }
  15. });
  16. contentPane.add(btnYrhtrdsf, "16, 10");
  17. JButton btnMakeDirectory = new JButton("Make Folder in HDFS");
  18. btnMakeDirectory.addMouseListener(new MouseAdapter() {
  19. @Override
  20. public void mouseClicked(MouseEvent e) {//WORKING
  21. try {
  22. Runtime.getRuntime().exec("/usr/local/hadoop/hadoop-1.0.3/bin/hadoop dfs -mkdir input2");
  23. } catch (IOException e1) {
  24. // TODO Auto-generated catch block
  25. e1.printStackTrace();
  26. }
  27. }
  28. });
  29. contentPane.add(btnMakeDirectory, "12, 18");
  30. JButton btnStopDaemons = new JButton("Stop Daemons");
  31. btnStopDaemons.addMouseListener(new MouseAdapter() {
  32. @Override
  33. public void mouseClicked(MouseEvent e) {
  34. try { //WORKING
  35. Runtime.getRuntime().exec("/usr/local/hadoop/hadoop-1.0.3/bin/stop-dfs.sh");
  36. Runtime.getRuntime().exec("/usr/local/hadoop/hadoop-1.0.3/bin/stop-mapred.sh");
  37. } catch (IOException e1) {
  38. // TODO Auto-generated catch block
  39. e1.printStackTrace();
  40. }
  41. }
  42. });
  43. contentPane.add(btnStopDaemons, "16, 18");
  44. JButton btnPiestimator = new JButton("PiEstimator");
  45. btnPiestimator.addMouseListener(new MouseAdapter() {
  46. @Override
  47. public void mouseClicked(MouseEvent e) {
  48. try { //PROBLEM!!!!!
  49. Runtime.getRuntime().exec("/usr/local/hadoop/hadoop-1.0.3/bin/hadoop jar hadoop-examples-1.0.3.jar pi 2 5");
  50. } catch (IOException e1) {
  51. // TODO Auto-generated catch block
  52. e1.printStackTrace();
  53. }
  54. }
  55. });
  56. contentPane.add(btnPiestimator, "14, 26");
  57. }
6fe3ivhb

6fe3ivhb1#

替换下一行

  1. Runtime.getRuntime().exec("/usr/local/hadoop/hadoop-1.0.3/bin/hadoop jar hadoop-examples-1.0.3.jar pi 2 5");

使用:

  1. Runtime.getRuntime().exec("/usr/local/hadoop/hadoop-1.0.3/bin/hadoop jar /usr/local/hadoop/hadoop-1.0.3/hadoop-examples-1.0.3.jar pi 2 5");

相关问题