繁体   English   中英

如何在EMR中的特定实例组上运行脚本

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM