gpt4 book ai didi

java - 是否可以通过 spout 或 bolt 停用和重新激活 Storm 拓扑?

转载 作者:搜寻专家 更新时间:2023-10-31 20:28:11 25 4
gpt4 key购买 nike

当满足某些条件时,比如遇到一种特殊类型的元组,我想停用拓扑。这可以在 spout/bolt 中完成吗?如果是,是否有任何方法可以从 spout/bolt 重新激活拓扑?

最佳答案

我已经在下面的代码中添加了所有三个 Action 来激活/停用/终止。这可以从独立的 java 代码(在 spout/bolt 之外)调用。

从 spout 或 bolt 停用很简单,但重新激活会很棘手,因为一旦停用,您的 spout/bolt 就不会主动运行 java 程序。

import backtype.storm.generated.KillOptions;
import backtype.storm.generated.Nimbus.Client;
import backtype.storm.utils.NimbusClient;
import backtype.storm.utils.Utils;

Client client = NimbusClient.getConfiguredClient(Utils.readStormConfig()).getClient();

client.activate(topologyName);
client.deactivate(topologyName);

KillOptions killOpts = new KillOptions();
killOpts.set_wait_secs(30);
client.killTopologyWithOpts(topologyName, killOpts);

关于java - 是否可以通过 spout 或 bolt 停用和重新激活 Storm 拓扑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25093400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com