Запустите собственный сценарий оболочки на всех подчиненных узлах в EMR - PullRequest
1 голос
/ 18 октября 2019

Документация по шагам AWS гласит, что шаги выполняются только на главном компьютере, означает ли это, что даже если я вошел в систему на любом из подчиненных узлов и выполнил на нем команду add-steps, команда пошла бы и добавила шаг ктолько мастер-узел? Как я могу затем выполнить собственный сценарий оболочки на всех подчиненных узлах? Начальная загрузка не возможна, так как сценарий оболочки требует, чтобы файл emrf-site.xml уже был создан, чего не произойдет, пока EMR не будет полностью запущен и работает.

1 Ответ

0 голосов
/ 18 октября 2019

Вы можете использовать тип шага «Custom JAR» для запуска «script-runner.jar», который будет запускать любой скрипт bash на каждом узле кластера:

aws emr create-cluster --name ... --steps Type=CUSTOM_JAR,Name=CustomJAR,ActionOnFailure=CONTINUE,Jar=s3://region.elasticmapreduce/libs/script-runner/script-runner.jar,Args=["s3://mybucket/script-path/my_script.sh"]

Дополнительная информация здесь: https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hadoop-script.html

...