您的位置:首页 > Web前端 > JavaScript

JStorm/Storm的调试:本地运行模式

2016-06-23 21:22 260 查看
       最近正在学习使用JStorm,写了一个Topology,将程序打成jar包,提交到JStorm集群运行,但是并没有输出结果,反复检查代码,还是查不出错误,而且每次改正代码之后,都要重新打成jar,上传到集群,很不方便。忽然想到Hadoop有本地运行模式,非常方便调试,于是开始查阅相关资料,一下是我的一些学习成果。

Storm运行模式:

本地模式(Local Mode): 即Topology运行在本地机器的单一JVM上,这个模式主要用来开发、调试。
远程模式(Remote Mode):在这个模式,我们把我们的Topology提交到集群,在这个模式中,Storm的所有组件都是线程安全的,因为它们都会运行在不同的Jvm或物理机器上,这个模式就是正式的生产模式。
实例:

创建一个MAVEN工程:



修改pom.xm添加依赖包



Spout



Bolt



Topology



        这里有两种运行模式可以选择:cluster和Local,当我们直接Run As->Java Application的时候,就是采用的本地运行模式。

        
        本地模式在一个进程里面模拟一个storm集群的所有功能, 这对开发和测试来说非常方便。以本地模式运行Topology跟在集群上运行Topology类似。要创建一个进程内“集群”,使用LocalCluster对象就可以了。然后可以通过LocalCluster对象的submitTopology方法来提交Topology, 效果和StormSubmitter对应的方法是一样的。submitTopology方法需要三个参数: Topology的名字,
Topology的配置以及Topology对象本身。你可以通过killTopology方法来终止一个topology, 它需要一个topology名字作为参数。

要关闭一个本地集群,简单调用:

cluster.shutdown();

就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: