码迷,mamicode.com
首页 > 其他好文 > 详细

Storm使用入门之本地开发环境搭建

时间:2014-06-27 23:44:13      阅读:505      评论:0      收藏:0      [点我收藏+]

标签:storm   开发环境安装   环境安装   环境搭建   storm中文资料   

本篇博文详细告诉你如何安装Storm的本地开发环境,总体分为两步,具体如下:

1、从官网上下载Storm的发布包,下载完成后将其解压,并将解压后的bin目录添加到环境变量(PATH)中,以方便后续执行Storm的相关命令

2、修改Storm的配置文件(storm.yaml),主要是按照实际情况更新配置文件中的集群信息,然后将修改后的配置文件添加到目录(~/.storm/)中,目的是为了后续能够远程启动和停止集群上的计算任务(即topology)

接下来,咱们来详细地介绍每一个操作步骤。

首先,何谓Storm的开发环境?

Storm有两种运行模式:本地模式和远程模式。对于本地模式,我们完全可以在本机完成计算任务的开发与测试工作。而远程模式,我们向Storm集群提交计算任务并使其在远程集群上执行。

Storm开发环境已经安装了所需的各类组件,因此,你可以在本地模式下开发和测试Storm topology,编译打包计算任务以便将其提交到远程集群上执行,向远程集群提交任务或者停止正在运行的任务。

那本地模式为何有如此大的威力呢?咱们来快速的重温下本地主机与远程集群之间的关系。通常Storm集群是有一个称之为“Nimbus”的主节点来管理,本地主机与Nimbus通信,从而完成代码(需要将其打成jar包)提交、控制集群上任务的执行;Nimbus负责代码再集群上的均衡分布以及分配worker(实际上此工作是Nimbus通过Supervisor来完成)来运行提交的计算任务。本地主机使用命令行客户端(我们称之为“storm”的命令)来完成与Nimbus的通信,该命令行当且仅当在与远程集群交互时使用,本地模式下并不使用。(官方文档中的此处说明,博主认为在实际执行上可以更加灵活,即本地模式运行任务也可以通过storm命令,至于是以本地模式运行还是集群模式运行由topology的代码来控制,见下图。当然官方之所以这么说,是因为对于本地模式运行任务,其推荐使用另外一种方式,详情下文会说明)。

bubuko.com,布布扣

图1 任务运行模式示例

在图1中,红色数字1标示的代码部分为任务以本地模式运行;红色数字2标示的代码部分为任务以集群模式运行。而这两种运行方式均可以通过命令行(即storm命令)来执行。

要想是的本地可以向远程集群提交任务,并对其加以控制的话,那我们需要在本机做些什么事情呢?事情很简单,在本机安装Storm的发行包。在本机完成安装之后,我们就有了命令行客户端(即称之为“storm”的东西)并可以使用其余远端集群交互。具体安装步骤如下:

1、从Storm官方下载对应版本的发行包,不知道下载地址的用户,可以点击此处

2、完成下载之后,在本机的任务目录将其解压

3、将解压后的bin目录添加到用户的环境变量中(即PATH),并确保脚本(bin/storm)有可执行的权限

在本机安装Storm环境,目的是为了和远程集群交互,对于想在本地进行开发和测试计算任务的同学而言,我们强烈推荐你在打包工程时包含上storm的依赖包,这样你就可以采用java命令方式来运行计算任务了,有关maven打包和java命令运行jar的内容请自行了解。(此为官方推荐的本地运行方式,但是缺点就是集群模式运行和本地模式运行需要两个不同的包,操作比较麻烦;而图1的做法优点是集群模式和本地模式采用相同的包,不需要单独打包)

到此,向远端集群提交任务的内容就已经告一段落了,接下来该到如何启动和停止计算任务了。

上面的步骤说明了在本地安装storm是为了使用命令行客户端与集群进行交互,那咱们就得告诉客户端与之交互的集群地址。那此步骤如何完成呢?操作也很简单,具体如下:

1、修改storm的配置文件(storm.yaml),添加Nimbus的主机地址(可以是主机名,也可以是IP,主机名的需要在本地的hosts中配置上映射信息),配置方式如下

nimbus.host: "123.45.678.890"
2、将修改后的配置文件添加到目录(~/.storm/)中

对于环境安装,还有另外一种选择:

我们可以使用一键化安装工具(storm-deploy)在AWS中安装storm,此工具会自动在目录(~/.storm/)下安装storm.yaml文件,我们可以通过attach命令来告知客户端连接的集群信息(对于多集群之间的切换而言,此命令非常方便),命令方式如下:

lein run :deploy --attach --name mystormcluster
有关storm-deploy的详细信息,可以参见项目wiki


Storm使用入门之本地开发环境搭建,布布扣,bubuko.com

Storm使用入门之本地开发环境搭建

标签:storm   开发环境安装   环境安装   环境搭建   storm中文资料   

原文地址:http://blog.csdn.net/zhuchunlai/article/details/34965927

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!