【发布时间】:2018-07-19 22:11:34
【问题描述】:
我在风暴集群上运行了风暴拓扑。后来拓扑被杀死。但它并没有从拓扑列表中删除。因此,我无法再次重新运行具有相同名称的拓扑。
有没有办法从列表中删除被杀死的拓扑?
【问题讨论】:
标签: apache-storm
我在风暴集群上运行了风暴拓扑。后来拓扑被杀死。但它并没有从拓扑列表中删除。因此,我无法再次重新运行具有相同名称的拓扑。
有没有办法从列表中删除被杀死的拓扑?
【问题讨论】:
标签: apache-storm
另一种杀死拓扑的方法是从命令行运行storm kill。当一个拓扑处于“KILLED”状态并在列表中显示数小时时,这对我有用。
storm kill yourToplogyName -w 5
【讨论】:
当您从storm ui 或命令行运行kill 命令时,Storm 将首先在拓扑的消息超时期间停用拓扑的spout,以允许当前正在处理的所有消息完成处理。 Storm 然后会关闭工作人员并清理他们的状态。
所以,也许您的拓扑仍然有需要处理的消息。因此拓扑到现在还没有死。
【讨论】:
当您终止拓扑时,您通常会设置一个超时,以等待处理当前发出的元组。我认为默认值为 30 秒。之后,拓扑应该从列表中删除。如果不想等待,可以指定超时时间为 0 秒,拓扑会立即被移除。
【讨论】: