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