AWS Step文档说步骤仅在主节点上执行,这意味着即使我登录到任何从属节点并在其上执行add-steps命令,该命令也只会将步骤添加到主节点上?然后,如何在所有从属节点上执行自定义Shell脚本? bootstrap 是不可行的,因为shell脚本要求已经创建了emrf-site.xml,而这要等到EMR完全启动并运行后才会发生。
最佳答案
您可以使用“自定义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
关于hadoop - 在EMR中的所有从属节点上运行自定义Shell脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58444806/