[英]How to run script on specific instance group in EMR
我受困于一项任务,在该任务中,我只能在任务实例组实例上运行1个脚本。
我目前的做法-
为此,我在群集启动时将脚本作为Bootstrap Actions传递,但是它在所有计算机上运行脚本。 (主,核心,任务实例组)。
您能帮我只在特定的(任务)实例组上运行该脚本吗?
实际任务是在任务实例组实例上运行终止通知轮询脚本。 -https://blog.fugue.co/2015-01-06-spot-termination-notices.html
您可以查看文件/mnt/var/lib/info/extraInstanceData.json ,其中包含关键的instanceRole值,该值可以是master,core或task。 例如,将其添加到脚本中:
INSTANCE_ROLE=$(jq .instanceRole /mnt/var/lib/info/extraInstanceData.json)
或者,您可以使用群集中任何节点上存在的/mnt/var/lib/info/instance.json文件,它看起来像这样:
{
"instanceGroupId": "ig-XXXXXXXXXX",
"isMaster": false
}
您可以将ig-XXXXXXXXXX与集群的任务组ID相匹配。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.