本文将介绍如何设置Storm的开发环境。下面是大纲:
1.下载Storm发布包,解压,将解压的 bin目录放到你电脑的PATH中。
2.为了能够在远程集群中启动或者停止Topology,请将集群信息放到~/.storm/storm.yaml中
下面是步骤的详细说明。
什么是开发环境?
Storm有两种运行模式:本地模式和远程模式。在本地模式下,你完全可以使用本地机器来开发和测试Topology。在远程模式下,提交Topology到远程集群执行。
Storm开发环境包含了所有工具,因此你可以在本地模式开发和测试Topology,打包并在远程集群中运行,向集群提交或者kill掉Topology。
我们来快速了解下本地机器和远程集群的关系。一个Storm集群由一个叫"Nimbus"的主节点管理。你的机器和Nimbus通信同时向远程集群提交代码(打包成jar)和Topology,Nimbus 会分发你的代码并且分配worker运行你提交的Topology,你的机器使用storm客户端来和Nimbus通信。Storm客户端只能在远程模式下使用;它在本地模式下不起作用。
本地安装Storm
如果你想从你的机器提交Topology到远程集群,你需要在本地安装Storm。通过客户端和远程集群交互。要在本地安装Storm点击此处下载Storm发布包,并且将其解压在你电脑的某个地方。然后将解压的bin目录添加到你PATH中,使bin/storm脚本可执行。
本地安装Storm仅仅是为了和远程集群交互。在本地模式下开发和测试Topology,建议你使用maven并且在项目中包含Storm的依赖。阅读Maven一文来了解如何使用maven。
在远程集群启动和停止Topology
前面安装了Storm客户端来和远程集群进行通信。现在,你要做的是告诉Storm要和哪个集群对话。要和集群对话,你必须做的工作是将主节点的主机地址放到~/.storm/storm.yaml文件中,如下所示:
1
|
nimbus.host: "123.45.678.890" |
另外,如果你用storm-deploy项目在AWS上部署Storm集群,它将自动设置~/.storm/storm.yaml文件,你可以使用"attach"命令绑定Storm集群(或者在多个集群上切换),配置如下:
1
|
lein run :deploy --attach --name mystormcluster |
storm-deploy的更多信息请关注wiki