本节书摘来自华章计算机《storm企业级应用:实战、运维和调优》一书中的第2章,第2.2节,作者:马延辉 陈书美 雷葆华著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
storm有两种模式可以启动操作:本地模式和分布式模式。
2.2.1 本地模式
本地模式在一个进程中使用线程模拟storm集群的所有功能,这样使用本地模式进行开发和测试将非常方便。本地模式运行topology与在集群上运行topology类似,但是提交拓扑任务是在本地机器上。
简单地使用localcluster类,就能创建一个进程内(in-process)集群。例如:
本地模式的常规配置需要注意如下几个参数:
1)conf?ig.topology_max_task_parallelism:单个组件产生的最大线程数。在通常情况下,生产环境的拓扑有大量并行线程(数百个线程),当尝试在本地模式测试拓扑时,它会使本地集群处于不合理负载。这个配置容易控制并行度。
2)conf?ig.topology_debug:当设置为true时,spout或bolt每发射一个消息,storm就记录一个消息。这对程序调试非常有用。
在启动storm后台进程时,需要对conf/storm.yaml配置文件中设置的storm.local.dir目录具有写权限。storm后台进程启动后,将在storm安装部署目录下的logs/子目录下生成各个进程的日志文件。
2.2.2 分布式模式
分布式模式提交的拓扑任务可以放在storm集群的任意一个节点执行,下面讲解的安装及部署均使用了此模式。