*任务级失败
•
bolt
任务失败。
此时,
acker
中所有与此
bolt
任务关联的消息都会因为超时而失败,对应
spout
的
fail
方法将被调用。
•
acker
任务失败
。在
失败之前持有的所有消息都将会因为超时而失败。
Spout
的
fail
方法将被调用
。
•
Spout
任务失败
。
Spout
任务对接的外部设备(如
MQ
)负责消息的完整性
。
•
*
任务
槽
(slot)
故障
•
worker
失败。每个
worker
中包含数个
bolt
(或
spout
)任务。
supervisor
负责监控这些任务,当
worker
失败后,
supervisor
会尝试在本机重启它
。
•
supervisor
失败。
supervisor
是无状态的,因此
supervisor
的失败不会影响当前正在运行的任务,只要及时的将它重新启动即可。
supervisor
不是自举的,需要外部监控来及时重启
。
•
nimbus
失败。
nimbus
是无状态的,因此
nimbus
的失败不会影响当前正在运行的任务(
nimbus
失败时,无法提交新的任务),只要及时的将它重新启动即可。
nimbus
不是自举的,需要外部监控来及时重启。
*
集群
节点(机器)故障
•
storm
集群中的节点故障。此时
nimbus
会将此机器上所有正在运行的任务转移到其他可用的机器上运行
。
•
zookeeper
集群中的节点故障。
zookeeper
保证少于半数的机器宕机仍可正常运行,及时修复故障机器即可。