쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

Amazon EMR 클러스터에서 명령 및 스크립트 실행 - Amazon EMR

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon EMR 클러스터에서 명령 및 스크립트 실행

이 주제에서는 클러스터에서 명령 또는 스크립트를 단계별로 실행하는 방법을 다룹니다. 명령이나 스크립트를 단계별로 실행하는 방법은 클러스터에 작업을 제출할 수 있는 여러 방법 중 하나이며 다음과 같은 상황에서 유용합니다.

  • Amazon EMR 클러스터에 대한 SSH 액세스 권한이 없는 경우

  • bash 또는 shell 명령을 실행하여 클러스터 문제를 해결하려는 경우

클러스터를 생성하거나 클러스터가 WAITING 상태일 때 스크립트를 실행할 수 있습니다. 단계 처리가 시작되기 전에 스크립트를 실행하려면 부트스트랩 작업을 대신 사용합니다. 부트스트랩 작업에 대한 자세한 내용은 Amazon EMR 관리 안내서에서 부트스트랩 작업을 생성하여 추가 소프트웨어 설치를 참조하세요.

Amazon EMR은 스크립트, 명령 및 기타 클러스터 내 프로그램을 실행하는 데 도움이 되는 다음과 같은 도구를 제공합니다. Amazon EMR 관리 콘솔 또는 AWS CLI를 사용하여 두 도구를 모두 간접 호출할 수 있습니다.

command-runner.jar

클러스터의 Amazon EMR AMI에 있습니다. command-runner.jar을 사용하여 클러스터에서 명령을 실행할 수 있습니다. 전체 경로를 사용하지 않고 command-runner.jar을 지정합니다.

script-runner.jar

s3://<region>.elasticmapreduce/libs/script-runner/script-runner.jar에서 Amazon S3에서 호스팅됩니다. <region>은 Amazon EMR 클러스터가 위치한 리전입니다. script-runner.jar을 사용하여 클러스터에서 로컬로 또는 Amazon S3에 저장된 스크립트를 실행할 수 있습니다. 단계를 제출할 때 script-runner.jar의 전체 URI를 지정해야 합니다.

사용자 지정 JAR 단계를 제출하여 스크립트 또는 명령을 실행합니다.

다음 AWS CLI 예제에서는 Amazon EMRscript-runner.jar에서 command-runner.jar 및의 몇 가지 일반적인 사용 사례를 보여줍니다.

예 : command-runner.jar을 사용하여 클러스터에서 명령 실행

command-runner.jar을 사용할 때 단계의 인수 목록에서 명령, 옵션 및 값을 지정합니다.

다음 AWS CLI 예제에서는를 호출하는 실행 중인 클러스터에 단계를 제출합니다command-runner.jar. Args 목록에 지정된 명령은 Amazon S3에서 my-script.sh 스크립트를 hadoop 사용자 홈 디렉터리로 다운로드합니다. 그러면 이 명령은 스크립트의 권한을 수정하고 my-script.sh를 실행합니다.

를 사용하는 경우 Args 목록 AWS CLI의 항목은 목록 요소 사이에 공백 없이 쉼표로 구분되어야 합니다. 예를 들어 Args=[example-command, example-option, "example option value"] 대신 Args=[example-command,example-option,"example option value"] 항목을 사용합니다.

aws emr add-steps \ --cluster-id j-2AXXXXXXGAPLF \ --steps Type=CUSTOM_JAR,Name="Download a script from S3, change its permissions, and run it",ActionOnFailure=CONTINUE,Jar=command-runner.jar,Args=[bash,-c,"aws s3 cp s3://amzn-s3-demo-bucket/my-script.sh /home/hadoop; chmod u+x /home/hadoop/my-script.sh; cd /home/hadoop; ./my-script.sh"]
예 : script-runner.jar을 사용하여 클러스터에서 스크립트 실행

script-runner.jar을 사용할 때 단계의 인수 목록에서 실행하려는 스크립트를 지정합니다.

다음 AWS CLI 예제에서는를 호출하는 실행 중인 클러스터에 단계를 제출합니다script-runner.jar. 이 경우 my-script.sh 스크립트는 Amazon S3에 저장됩니다. 클러스터의 프라이머리 노드에 저장되는 로컬 스크립트를 지정할 수도 있습니다.

aws emr add-steps \ --cluster-id j-2AXXXXXXGAPLF \ --steps Type=CUSTOM_JAR,Name="Run a script from S3 with script-runner.jar",ActionOnFailure=CONTINUE,Jar=s3://us-west-2.elasticmapreduce/libs/script-runner/script-runner.jar,Args=[s3://amzn-s3-demo-bucket/my-script.sh]

command-runner.jar을 사용하는 기타 방법

command-runner.jar을 사용하여 spark-submit 또는 hadoop-streaming 등의 도구로 클러스터에 작업을 제출할 수 있습니다. command-runner.jar을 사용하여 애플리케이션을 시작할 때 SPARK, STREAMING 또는 PIG와 같은 값을 사용하는 대신 단계 유형으로 CUSTOM_JAR을 지정합니다. 도구 가용성은 클러스터에 설치한 애플리케이션에 따라 달라집니다.

다음 예제 명령에서는 command-runner.jar을 사용하여 spark-submit을 통해 단계를 제출합니다. Args 목록은 spark-submit을 명령으로 지정하고 그 뒤에 Spark 애플리케이션 my-app.py의 Amazon S3 URI와 인수 및 값을 포함합니다.

aws emr add-steps \ --cluster-id j-2AXXXXXXGAPLF \ --steps Type=CUSTOM_JAR,Name="Run spark-submit using command-runner.jar",ActionOnFailure=CONTINUE,Jar=command-runner.jar,Args=[spark-submit,S3://amzn-s3-demo-bucket/my-app.py,ArgName1,ArgValue1,ArgName2,ArgValue2]

다음 테이블에는 command-runner.jar을 사용하여 실행할 수 있는 추가 도구가 나와 있습니다.

도구 이름 설명
hadoop-streaming Hadoop 스트리밍 프로그램을 제출하니다. 콘솔과 일부 SDK에서 이 작업은 스트리밍 단계입니다.
hive-script Hive 스크립트를 실행합니다. 콘솔과 일부 SDK에서 이 작업은 Hive 단계입니다.
pig-script Pig 스크립트를 실행합니다. 콘솔과 일부 SDK에서 이 작업은 Pig 단계입니다.
spark-submit

Spark 애플리케이션을 실행합니다. 콘솔에서 이 작업은 Spark 단계입니다.

hadoop-lzo 디렉터리에서 Hadoop LZO 인덱서를 실행합니다.
s3-dist-cp Amazon S3의 대량 데이터를 HDFS로 분산 복사합니다. 자세한 내용은 S3DistCp(s3-dist-cp) 단원을 참조하십시오.
프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.