加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何以编程方式杀死风暴拓扑?

发布时间:2020-12-14 05:31:35 所属栏目:Java 来源:网络整理
导读:我正在使用一个 java类向风暴集群提交一个拓扑,我也打算使用java类来杀死拓扑.但是根据风暴 documentation,以下命令用于杀死拓扑,并且没有Java方法(这有正当的原因) storm kill {stormname} 那么可以从java类调用shell脚本去杀掉拓扑结构吗?杀死拓扑结构的
我正在使用一个 java类向风暴集群提交一个拓扑,我也打算使用java类来杀死拓扑.但是根据风暴 documentation,以下命令用于杀死拓扑,并且没有Java方法(这有正当的原因)
storm kill {stormname}

那么可以从java类调用shell脚本去杀掉拓扑结构吗?杀死拓扑结构的其他方法是什么?

另外,如何获得在风暴集群中运行拓扑的状态?

解决方法

为了杀死拓扑结构,你可以试试这个
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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读