gpt4 book ai didi

java - 如何以编程方式终止 Apache Storm 拓扑?

转载 作者:搜寻专家 更新时间:2023-10-30 21:46:00 25 4
gpt4 key购买 nike

我正在使用 Java 类将拓扑提交到 Storm 集群,我还计划使用 Java 类来终止拓扑。但根据 Storm documentation ,以下命令用于终止拓扑并且没有 Java 方法(这是有正当理由的)。

storm kill {stormname}

那么从 Java 类中调用一个 shell 脚本来杀死拓扑是否可以?杀死拓扑的其他方法是什么?

另外,如何获取storm集群中拓扑的运行状态?

最佳答案

为了杀死拓扑你可以试试这个

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

Map conf = Utils.readStormConfig();
Client client = NimbusClient.getConfiguredClient(conf).getClient();
KillOptions killOpts = new KillOptions();
//killOpts.set_wait_secs(waitSeconds); // time to wait before killing
client.killTopologyWithOpts(topology_name, killOpts); //provide topology name

获取拓扑运行状态

Client client = NimbusClient.getConfiguredClient(conf).getClient();
List<TopologySummary> topologyList = client.getClusterInfo.get_topologies();
// loop through the list and check if the required topology name is present in the list
// if not it's not running

关于java - 如何以编程方式终止 Apache Storm 拓扑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20799178/

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