Twitter Storm: 本地模式简介

这篇文章主要介绍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发射出来的所有消息, 对于调试来说非常有用。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/d03b8ef8eec392f6d8a5ab0620469212.html