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

来源:互联网 发布:linux 执行jar包命令 编辑:程序博客网 时间:2024/05/22 10:04

       最近正在学习使用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();
就可以了。


0 0
原创粉丝点击