簡體   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