共计 947 个字符,预计需要花费 3 分钟才能阅读完成。
这篇文章主要介绍 storm 的两种操作方式之一: 本地模式。
本地模式在一个进程里面模拟一个 storm 集群的所有功能,这对开发和测试来说非常方便。以本地模式运行 topology 跟在集群上运行 topology 类似。
要创建一个进程内“集群”,使用 LocalCluster
对象就可以了:
1 2 3 | import backtype.storm.LocalCluster; LocalCluster cluster = new LocalCluster(); |
然后可以通过 LocalCluster
对象的 submitTopology 方法来提交 topology, 效果和 StormSubmitter
对应的方法是一样的。submitTopology 方法需要三个参数: topology 的名字,topology 的配置以及 topology 对象本身。你可以通过 killTopology
方法来终止一个 topology,它需要一个 topology 名字作为参数。
要关闭一个本地集群,简单调用:
1 | cluster.shutdown(); |
就可以了。
本地模式下的一些常用配置
你可以在这里看到完整的配置列表:
1. Config.TOPOLOGY_MAX_TASK_PARALLELISM 这个配置给 topology 里面各个组件 (spout, bolt) 设定一个线程数量上限。一般来说生成环境的这个配置很大(100 左右), 而这对于本地测试来说太大了,这个配置可以让你把它调小。
2. Config.TOPOLOGY_DEBUG 这个配置如果设置成 true, storm 会 log 下 spout 和 bolt 发射出来的所有消息,对于调试来说非常有用。
推荐阅读:
Twitter Storm 安装配置(集群)笔记 http://www.linuxidc.com/Linux/2013-05/84307.htm
安装 Twitter Storm 集群 http://www.linuxidc.com/Linux/2012-07/66336.htm
Twitter Storm 安装配置(单机版)笔记 http://www.linuxidc.com/Linux/2013-05/84306.htm
Storm 实战及实例讲解一 http://www.linuxidc.com/Linux/2012-08/69146.htm