hadoop - 在 EMR 中的所有从节点上运行自定义 shell 脚本
问题描述
AWS Step 文档说步骤仅在主节点上执行,这是否意味着即使我登录到任何从节点并在其上执行 add-steps 命令,该命令也会将步骤仅添加到主节点? 然后如何在所有从节点上执行自定义 shell 脚本?引导不是一个选项,因为 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
推荐阅读
- amazon-web-services - Terraform EC2 网络中断
- jquery - 滑动滑块按钮在到达最后一张幻灯片之前被禁用
- python - 我怎样才能让我的玩家 Rect 在我的敌人 Rect 的侧面和底部发生碰撞?游戏
- asp.net-core-webapi - 无法反序列化 wcf 服务中的 Web Api 核心响应
- javascript - 如何根据 vue/quasar 上的服务器时间创建日期时间值?
- mysql - 迁移到严格的 MySQL/MariaDB 的任何简单方法?
- r - R:如何从两个单独的 data.frames 中绘制数据
- vb.net - 为什么我的第二个版本比我的第一个大?
- jquery - 删除 keyup 上内联收音机的选中状态
- javascript - 上传图像问题,如何从缓冲区获取图像的原始格式并重置元数据?