暂无说说

topology提交

storm jiajun 11个月前 (11-20) 116次浏览 0个评论 扫描二维码

topology 开发完成后,需要提交给storm集群,才能够运行。


提交storm的常用命令

1、把 topology 项目打成 jar 包后,上传到 Storm 集群后,可以使用下面命令提交 topology

bin/storm jar jarName.jar [TopologyMainClass] [Args]

例子:

storm jar HelloWorld.jar com.mathslib.com.HelloWorld.HelloWorldTopology hello

TopologyMainClass 需要提供类的完整限定名,此处后面参数 hello 作为 topology 名称提交

验证:

jps

多出了两个 worker 进程

2、Storm 支持停用拓扑。在非激活状态下,spout 不会将任何新的元组发送到管道中,但是已经发出的元组的处理将继续进行。下面是停用正在运行的拓扑的命令:

storm deactivate topologyName

如:

storm deactivate hello

此时两个 worker 进程还在

3、Storm 还支持激活拓扑。当拓扑被激活时,spouts 将再次开始发出元组。下面是激活拓扑的命令

storm activate hello

4、storm 的拓扑一直处在不停的运行中。为了停止拓扑,需要把它 kill 掉。当 kill 掉拓扑,拓扑首先进入失活状态(deactivation state),等处理所有已经发出的元组后停止。运行以下命令来杀死拓扑

storm kill hello

kill 掉后,等所有发出 tuple 完全处理完成后,两个 worker 进程消失

5、如果想在 storm 拓扑运行时输出调试信息,可设置成 debug 模式,并用 LocalCluster 实例提交。

Config config = new Config();
config.setNumWorkers(3);
config.setDebug(true);

LocalCluster localCluster = new LocalCluster();
localCluster.submitTopology(args[0], config, topology);

当然,修改后必须重新打 jar 然后上传。

喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址