【问题标题】:Storm killed Topology not getting removed from Topology list风暴杀死拓扑未从拓扑列表中删除
【发布时间】:2018-07-19 22:11:34
【问题描述】:

我在风暴集群上运行了风暴拓扑。后来拓扑被杀死。但它并没有从拓扑列表中删除。因此,我无法再次重新运行具有相同名称的拓扑。

有没有办法从列表中删除被杀死的拓扑?

【问题讨论】:

    标签: apache-storm


    【解决方案1】:

    另一种杀死拓扑的方法是从命令行运行storm kill。当一个拓扑处于“KILLED”状态并在列表中显示数小时时,这对我有用。

    storm kill yourToplogyName -w 5
    

    【讨论】:

      【解决方案2】:

      当您从storm ui 或命令行运行kill 命令时,Storm 将首先在拓扑的消息超时期间停用拓扑的spout,以允许当前正在处理的所有消息完成处理。 Storm 然后会关闭工作人员并清理他们的状态。

      所以,也许您的拓扑仍然有需要处理的消息。因此拓扑到现在还没有死。

      【讨论】:

        【解决方案3】:

        当您终止拓扑时,您通常会设置一个超时,以等待处理当前发出的元组。我认为默认值为 30 秒。之后,拓扑应该从列表中删除。如果不想等待,可以指定超时时间为 0 秒,拓扑会立即被移除。

        【讨论】:

        • 是的,我阅读了此信息。但问题是它已经被杀死了超过 3 天,拓扑但仍然显示在列表中。
        • 听起来可能是一个错误。尝试查看运行拓扑的主管的日志,以及 nimbus 日志,看看它是否记录了有关拓扑的内容?您使用的是哪个 Storm 版本?
        • @StigRohdeDøssing 如果给出 0 超时,storm 是否有可能无法清理资源?如果我们的螺栓中有任何数据库连接,0 超时可能会使一些连接保持打开状态,即即使在终止拓扑后仍保持数据库连接
        • 请发一个新问题,评论框的我能写多少。
        • @StigRohdeDøssing 你去stackoverflow.com/questions/55024919/…
        猜你喜欢
        • 2018-06-09
        • 1970-01-01
        • 2014-01-14
        • 2018-08-08
        • 2013-08-06
        • 1970-01-01
        • 1970-01-01
        • 2016-08-21
        • 1970-01-01
        相关资源
        最近更新 更多