我正在使用一个
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。