如何在emr中的特定示例组上运行脚本

5cg8jx4n  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(411)

我被一个任务困住了,我只能在任务示例组示例上运行一个脚本。
我目前的做法-
为此,我在集群启动时将脚本作为引导动作传递,但它在所有计算机上运行脚本(主、核心、任务示例组)。
你能帮我只在特定的(任务)示例组上运行那个脚本吗?
实际任务是对任务示例组示例运行终止通知轮询脚本。-https://blog.fugue.co/2015-01-06-spot-termination-notices.html

vhipe2zx

vhipe2zx1#

您可以查看文件/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-x与集群的任务组id相匹配。

相关问题