配置storm.yamljava
storm发行版在conf/storm.yaml包含了一些配置信息。你能够在这里看到默认配置。storm.yaml里面的配置比default.xml的优先级要高, 下面是要运行storm集群所必须的配置:安全
1. storm.zookeeper.servers 这个配置storm集群使用的zookeeper集群的地址,好比:网站
storm.zookeeper.servers:ui
- "111.222.333.444"线程
- "555.666.777.888"设计
2. storm.local.dir Nimbus和Supervisor在本地磁盘上须要一个目录来存储一些状态信息(jar包, 配置文件之类的东西)你应该在每台机器上建立那个目录,分配正确的权限,好比:日志
storm.local.dir: "/mnt/storm"orm
3. java.library.path 这是storm所依赖的本地依赖(ZeroMQ和JZMQ)的加载地址, 默认的是:/usr/local/lib:/opt/local/lib:/usr/lib, 大多状况下是对的,因此你应该不用更改这个配置。server
4. nimbus.host 全部工做机器须要nimbus机器的地址, 这样它们才知道去哪里获取jar包和配置文件:xml
nimbus.host: "111.222.333.44"
5. supervisor.slots.ports 对于每一台工做机器,这个配置指定在这台工做机器上运行多少工做进程, 每一个进程使用一个独立端口来接收消息,这个配置同时也指定使用哪些端口。若是你在这里定义5个端口, storm会在这个机器上最多分配5个工做进程。若是分配3个端口,那么最多分配3个进程。默认的配置是4个:
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
启动守护进程
最后一步是启动storm的全部守护进程。仍是前面说的那样,对于每一个进程都要有监控!storm是一个fail-fast系统,出现什么不可预知的错误的时候它都会退出的。storm被设计成在任什么时候候均可以安全退出, 在任什么时候候都能正确重启, 这就是storm为何不在线程内存储状态 — 若是Nimbus和Supervisor重启的话,不会影响正在运行的topology。下面介绍如何启动这些线程:
Nimbus 在Nimbus机器上运行bin/storm nimbus
Supervisor 在每台工做机器上运行bin/storm supervisor, supervisor负责启动和终止工做机器上的工做进程。
UI storm UI是一个能够查看storm运行状态的的一个网站,经过bin/storm ui运行,访问地址: http://{nimbus.host}:8080/。
就像你能看到的同样,运行storm集群很简单。这些进程会往你解压storm发行版的目录的子目录logs目录里面打日志。