转载请注明出处:http://blog.csdn.net/beitiandijun/article/details/41519053
源地址:http://storm.apache.org/documentation/Setting-up-development-environment.html
本文大体介绍了如何搭建Storm开发环境。总的来说,步骤如下:
1、下载storm release版本。解压缩,然后将解压缩版本的/bin目录放在你的环境变量PATH中。
2、远程集群上topologies的启动与关闭,依赖于~/.storm/storm.yaml中的集群信息。
更多细节描述请看下面。
开发环境是怎样的?
Storm拥有两种操作模式: 本地模式以及远程模式。 本地模式中, 你完全可以在本地机器上的进程内开发和测试topologies。 远程模式中, 需要向集群提交topologies。
storm开发环境的必备依赖必须安装,这样你才能在本地模式下开发测试Storm topologies,打包topologies并部署在远程Storm集群上。
先浏览一下你的机器与远程集群之间的关系。集群是由名为“Nimbus”的节点所控制。你的机器可以和Nimbus节点通信,并将代码(通常是jar包)和topologies提交给集群以便执行, Nimbus负责在集群内分发代码,并分配workers去运行topology。你的机器使用名为storm的命令行客户端与Nimbus进行通信。storm客户端只能用于远程模式,而在本地模式的开发与测试中不能使用。
本地安装Storm release版本
如果你想从你的机器向远程集群提交topologies,你需要在本地安装Storm release版本。安装Storm release版本可以使你利用storm客户端与远程集群通信。要在本地安装Storm,需要从这里下载release版本,并在你的机器上解压它。 然后将解压版本的bin/目录加到环境变量PATH中去,这可以保证bin/storm脚本是可执行的。
在本地安装storm release版本只是为了可以与远程集群通信。若是在本地模式下开发测试topologies,建议你使用Maven,将storm作为你项目的一个dev依赖。更多关于Maven的信息可以阅读Maven。
开始以及关闭远程集群中的topologies
前面在你的机器上安装storm客户端的步骤是用来和远程集群通信。现在你需要做的就是通知客户端---你想与哪个storm集群交互。要做这些的话, 你需要将控制节点的主机地址放在~/.storm/storm.yaml文件中,就像下面一样:
nimbus host: "123.45.678.890"
如果你在AWS上部署storm集群,你可以使用storm-deploy项目,它可以自动的配置你的~/.storm/storm.yaml文件。 可以手工使用“attach”命令行连接storm集群,就像这样:
lei run :deploy --attach --name mystormcluster
更多有关信息可以查看storm-deploywiki。