[HADOOP] AWS EMR 4.0-셸 명령을 실행하기 위해 사용자 지정 JAR 단계를 추가하는 방법
HADOOPAWS EMR 4.0-셸 명령을 실행하기 위해 사용자 지정 JAR 단계를 추가하는 방법
EMR 4.0.0에서 단계를 사용하여 쉘 명령을 실행하려고 하며이 링크를 참조로 사용했습니다-http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-hadoop-script.html
그러나 'JAR 위치'필드에 'command-runner.jar'을 넣을 위치를 알고 싶습니다 .http : //i.stack.imgur.com/CRicz.png
AWS s3에서 'command-runner.jar'을 유지하고 해당 위치에서로드하려고 시도했으며 'Arguments'에서 'example.sh'파일의 s3 위치를 지정했으며 단계를 추가 한 후이 예외가 발생하지 않았습니다.
Exception in thread "main" java.lang.RuntimeException: java.io.IOException: Cannot run program "s3://<path>/example.sh" (in directory "."): error=2, No such file or directory
at com.amazonaws.emr.command.runner.ProcessRunner.exec(ProcessRunner.java:139)
at com.amazonaws.emr.command.runner.CommandRunner.main(CommandRunner.java:13)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: java.io.IOException: Cannot run program "s3://<path>/example.sh" (in directory "."): error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047)
at com.amazonaws.emr.command.runner.ProcessRunner.exec(ProcessRunner.java:92)
... 7 more
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:187)
at java.lang.ProcessImpl.start(ProcessImpl.java:130)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1028)
... 8 more
해결법
-
==============================
1.S3에 저장된 쉘 스크립트를 실행하려면 s3 : //elasticmapreduce/libs/script-runner/script-runner.jar에있는 script-runner.jar을 사용하십시오.
S3에 저장된 쉘 스크립트를 실행하려면 s3 : //elasticmapreduce/libs/script-runner/script-runner.jar에있는 script-runner.jar을 사용하십시오.
command-runner.jar는 로컬 파일에서만 작동합니다.
from https://stackoverflow.com/questions/34151518/aws-emr-4-0-how-can-i-add-a-custom-jar-step-to-run-shell-commands by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Spark 및 Python은 사용자 정의 파일 형식 / 생성기를 RDD의 입력으로 사용합니다. (0) | 2019.09.07 |
---|---|
[HADOOP] Pig 출력에서 괄호와 쉼표를 제거하십시오 (0) | 2019.09.07 |
[HADOOP] 대용량 데이터-저장 및 쿼리 [닫기] (0) | 2019.09.07 |
[HADOOP] Cloudera Impala가 Tableau 오류에 연결 (0) | 2019.09.07 |
[HADOOP] 일식에서 hadoop 디버깅 (0) | 2019.09.07 |