복붙노트

[HADOOP] Runtime.exec의를 사용하여 자바에서 실행 하둡 jar 명령

HADOOP

Runtime.exec의를 사용하여 자바에서 실행 하둡 jar 명령

나는 Runtime.exec의를 사용하여 자바에서 하둡 항아리 명령을 실행하려합니다. 아래의 샘플 코드는 다음과 같습니다

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

그러나 내가 원하는 출력을 받고 있지 않다. 아래는 제가 자바에서 실행하려는 내 하둡 명령은 다음과 같습니다

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

나뿐만 아니라 예외를 받고 있지 않다. Runtime.getRuntime (). 간부가 사용되는 방식이 잘못인가?

해결법

  1. ==============================

    1.다음 명령을 사용하여 명령을 바꾸기 :

    다음 명령을 사용하여 명령을 바꾸기 :

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

    2.당신이 드라이버 코드를 정의 된 클래스 이름을 지정합니다.

    당신이 드라이버 코드를 정의 된 클래스 이름을 지정합니다.

    bin/hadoop jar /home/hadoop/jar/test.jar Package_name.className /user/hduser/myinput/input /user/hduser/newoutput
    
  3. from https://stackoverflow.com/questions/36885780/running-hadoop-jar-command-from-java-using-runtime-exec by cc-by-sa and MIT license