我刚刚发现使用亚马逊的Elastic Map Reduce,我可以指定一个步骤来选择三个ActionOnFailure中的一个:
TERMINATE_JOB_FLOW是默认值并且显而易见 - 它会在步骤失败时关闭整个群集。
CANCEL_AND_WAIT和CONTINUE有什么区别?在我看来,两者都将保持集群运行,并在添加集群时继续进行下一步。
答案 0 :(得分:10)
假设您已启动群集并添加了以下3个步骤:
现在,如果Step1
将ActionOnFailure作为CANCEL_AND_WAIT
,那么在Step1
失败的情况下,它将取消所有剩余的步骤,群集将进入{{1 }} 状态。我想如果你使用Waiting
选项为你的集群提供服务,那么这是默认行为。
如果--stay-alive
将ActionOnFailure设为Step1
,那么在CONTINUE
失败的情况下,继续执行并执行Step1
如果Step2
将ActionOnFailure设置为Step1
,那么如果TERMINATE_JOB_FLOW
失败,它会按照您的提及关闭群集。