接下来,需要在Nimbus和Supervisor机器上安装Storm的依赖库。具体如下:
3. 下载并解压Storm发布版本(我使用的是apache-storm-0.9.3)
vi /etc/profile
export STORM_HOME== /usr/local/storm export PATH=$STORM_HOME /bin :$PATH |
4 修改storm.yaml配置文件
Storm发行版本解压目录下有一个conf/storm.yaml文件,用于配置Storm。默认配置在这里可以查看。conf/storm.yaml中的配置选项将覆盖defaults.yaml中的默认配置。以下配置选项是必须在conf/storm.yaml中进行配置的:
1) storm.zookeeper.servers: Storm集群使用的Zookeeper集群地址,其格式如下
如果Zookeeper集群使用的不是默认端口,那么还需要storm.zookeeper.port选项。
2) storm.local.dir: Nimbus和Supervisor进程用于存储少量状态,如jars、confs等的本地磁盘目录,需要提前创建该目录并给以足够的访问权限。然后在storm.yaml中配置该目录,如:mkdir -p /usr/local/storm/data
|
storm.local.dir: "/usr/local/storm/data"
注:需要首先创建data目录
3) nimbus.host: Storm集群Nimbus机器地址,各个Supervisor工作节点需要知道哪个机器是Nimbus,以便下载Topologies的jars、confs等文件,如:
我的配置:
4) supervisor.slots.ports: 对于每个Supervisor工作节点,需要配置该工作节点可以运行的worker数量。每个worker占用一个单独的端口用于接收消息,该配置选项即用于定义哪些端口是可被worker使用的。默认情况下,每个节点上可运行4个workers,分别在6700、6701、6702和6703端口,如:
########### These MUST be filled in for a storm configuration storm.zookeeper.servers: - "master" - "slave1" - "slave2" storm. local . dir : "/data/storm/data" nimbus.host: "master" supervisor.slots.ports: - 6700 - 6701 - 6702 - 6703 ####### |
注意:每行前面的空格要统一,否则启动不起来。
2.5 启动Storm各个后台进程
最后一步,启动Storm的所有后台进程。和Zookeeper一样,Storm也是快速失败(fail-fast)的系统,这样Storm才能在任意时刻被停止,并且当进程重启后被正确地恢复执行。这也是为什么Storm不在进程内保存状态的原因,即使Nimbus或Supervisors被重启,运行中的Topologies不会受到影响。
以下是启动Storm各个后台进程的方式:
注意事项:
至此,Storm集群已经部署、配置完毕,可以向集群提交拓扑运行了。
原文:http://www.cnblogs.com/peak-c/p/6473018.html