首页 > 解决方案 > 在 EMR 中的所有从节点上运行自定义 shell 脚本

问题描述

AWS Step 文档说步骤仅在主节点上执行,这是否意味着即使我登录到任何从节点并在其上执行 add-steps 命令,该命令也会将步骤仅添加到主节点? 然后如何在所有从节点上执行自定义 shell 脚本?引导不是一个选项,因为 shell 脚本要求已经创建了 emrf-site.xml,这在 EMR 完全启动并运行之前不会发生。

标签: hadoopamazon-emraws-step-functions

解决方案


您可以使用“自定义 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


推荐阅读