EMR автоматически завершает кластер, не заканчивая искровую заявку? - PullRequest
0 голосов
/ 06 апреля 2020

Я намереваюсь создать кластер EMR с автоматическим завершением, который выполняет искровой кластер и завершает работу.

Если я отправляю приложение в качестве шага в существующий кластер, который не завершает работу автоматически с помощью следующей команды, он работает, и приложение завершает работу за 3 минуты.

aws emr add-steps --cluster-id xxx \
--steps Name=imdbetlapp,Jar=command-runner.jar,Args=\
[spark-submit,--deploy-mode,cluster,--master,yarn,--conf,spark.yarn.submit.waitAppCompletion=true,\
--py-files,s3://bucketname/etl_module.zip,\
--files,s3://bucketname/etl_module/aws_config.cfg,\
s3://bucketname/run_etl.py],ActionOnFailure=CONTINUE --region us-east-1

Однако, когда я использую следующую команду для создания автоматически завершающегося кластера с функцией шага, приложение продолжает работать более 30 минут.

aws emr create-cluster --applications Name=Hadoop Name=Spark --use-default-roles \
--bootstrap-actions Path=s3://bucketname/emr_bootstrap.sh,Name=installPython \
--log-uri s3://logbucketname/elasticmapreduce/ \
--configurations https://s3.amazonaws.com/bucketname/emr_configurations.json \
--steps Name=imdbetlapp,Jar=command-runner.jar,Args=[spark-submit,--deploy-mode,cluster,\
--master,yarn,--conf,spark.yarn.submit.waitAppCompletion=true,\
--py-files,s3://bucketname/etl_module,\
--files,s3://bucketname/etl_module/aws_config.cfg,s3://bucketname/run_etl.py] \
--release-label emr-5.29.0 --instance-groups InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m4.large \
InstanceGroupType=CORE,InstanceCount=1,InstanceType=m4.large \
--auto-terminate --region us-east-1

Что я пропускаю?

Я заархивировал свой модуль etl python и загрузил его вместе с фактической папкой и файлом конфигурации aws_config.cfg. Он отлично работает, если передается как пошаговая функция в существующий кластер, так как я вижу, что вывод записывается в другую корзину S3. Однако, если я выполню команду CLI для создания кластера и выполню шаг, шаг будет выполняться вечно.

...