我刚刚发现使用 Amazon 的 Elastic Map Reduce,我可以指定一个步骤来选择三个 ActionOnFailure 选项之一:
- TERMINATE_JOB_FLOW
- CANCEL_AND_WAIT
- 继续
TERMINATE_JOB_FLOW 是默认值且显而易见 - 它会在步骤失败时关闭整个集群。
CANCEL_AND_WAIT 和 CONTINUE 有什么区别?在我看来,两者都将保持集群运行,并在添加时简单地继续下一步。
我刚刚发现使用 Amazon 的 Elastic Map Reduce,我可以指定一个步骤来选择三个 ActionOnFailure 选项之一:
TERMINATE_JOB_FLOW 是默认值且显而易见 - 它会在步骤失败时关闭整个集群。
CANCEL_AND_WAIT 和 CONTINUE 有什么区别?在我看来,两者都将保持集群运行,并在添加时简单地继续下一步。
假设您已经启动了一个集群并添加了以下 3 个步骤:
现在,如果Step1
ActionOnFailure 为CANCEL_AND_WAIT
,那么如果 失败Step1
,它将取消所有剩余的步骤,集群将进入一个Waiting
状态。而且我猜如果您使用--stay-alive
选项启动集群,那么这是默认行为。
如果Step1
ActionOnFailure 为CONTINUE
,则在 失败的情况下Step1
,它将继续执行Step2
。
如果Step1
ActionOnFailure 为TERMINATE_JOB_FLOW
,那么在失败的情况下Step1
,它会按照您提到的那样关闭集群。