0

私はタスクインスタンスで1つのスクリプトを実行する必要があります。このためEMR内の特定のインスタンスグループでスクリプトを実行する方法

私の現在的アプローチ

、私は、クラスタの起動中にブートストラップアクションとしてスクリプトを渡しますが、それはすべてのマシン上でスクリプトを実行します。 (マスタ、コア、タスクインスタンスグループ)。

特定の(タスク)インスタンスグループに対してのみスクリプトを実行してもらえますか?

実際のタスクは、タスクインスタンスグループインスタンスで終了通知ポーリングスクリプトを実行することです。 - https://blog.fugue.co/2015-01-06-spot-termination-notices.html

+0

起動時にそのスクリプトを実行する必要がありますか、いつでも実行できますか? – error2007s

+0

@ error2007s私のユースケースは、(タスクインスタンスグループの下の)スポットインスタンスがすべてダウンすると、ただ新しいインスタンスに置き換えられます。 私が理解しているように、これをブートストラップアクションとして渡すと、新しいインスタンスも起動しても、常にすべてのタスクインスタンスで実行されます。 私が間違っている場合、私を訂正してください。 – devsda

答えて

0

スケーリンググループ内のすべてのインスタンスに対してBSが機能するため、ブートストラップを使用することはできません。これを達成するには、SQS、SNS、およびSDKの組み合わせを使用する必要があります。

たとえば、達成しようとしていることを達成するためにSQS、SNS、BOTOを使用するこの記事をチェックしてください。

https://www.appneta.com/blog/aws-spot-instances/

関連する問題