Storm入门之附录B

本文翻译自《Getting Started With Storm》译者:吴京润    编辑:郭蕾 方腾飞

安装Storm集群

译者注:本附录的内容已经有些陈旧了。最新的Storm已不再必须依赖ZeroMQ,各种依赖的库和软件也已经有更新的版本。

有以下两种方式创建Storm集群:

  • 使用Storm部署在亚马逊EC2上面创建一个集群,就像你在第6章看到的。
  • 手工安装(详见本附录)

要手工安装Storm,需要先安装以下软件

  • Zookeeper集群(安装方法详见管理向导
  • Java6.0
  • Python2.6.6
  • Unzip命令

NOTE: Nimbus和管理进程将要依赖Java、Python和unzip命令

安装本地库:

安装ZeroMQ:

01 wget http://download.zeromq.org/historic/zeromq-2.1.7.tar.gz
02  
03 tar -xzf zeromq-2.1.7.tar.gz
04  
05 cd zeromq-2.1.7
06  
07 ./configure
08  
09 make
10  
11 sudo make install

安装JZMQ:

1 git clone https://github.com/nathanmarz/jzmq.git
2 cd jzmq
3 ./autogen.sh
4 ./configure
5 make
6 sudo make install

本地库安装完了,下载最新的Storm稳定版(写作本书时是Storm0.7.1。译者注:翻译本章时已是v0.9.1,可从http://storm.incubator.apache.org/https://github.com/apache/incubator-storm/releases下载),并解压缩。
编辑配置文件,增加Storm集群配置(可以从Storm仓库的defaults.yaml看到所有的默认配置)。
编辑Storm目录下的conf/storm.yaml,添加以下参数,增加集群配置:

storm.zookeeper.servers:
– "zookeeper addres 1"
– "zookeeper addres 2"
– "zookeeper addres N"
storm.local.dir: "a local directory"
nimbus.host: "Nimbus host addres"
supervisor.slots.ports:
– supervisor slot port 1
– supervisor slot port 2
– supervisor slot port N

参数解释:
storm.zookeeper.servers

你的zookeeper服务器地址。

storm.local.dir:

    Storm进程保存内部数据的本地目录。(务必保证运行Storm进程的用户拥有这个目录的写权限。)
nimbus.host

    Nimbus运行的机器的地址
supervisor.slots.ports

    接收消息的工人进程监听的端口号(通常从6700开始);管理进程为这个属性指定的每个端口号运行一个工人进程。

当你完成了这些配置,就可以运行所有的Storm进程了。如果你想运行一个本地进程测试一下,就把nimbus.host配置成localhost。
启动一个Storm进程,在Storm目录下执行:./bin/storm 进程名NOTE:Storm提供了一个出色的叫做Storm UI的工具,用来辅助监控拓扑。

文章转自 并发编程网-ifeve.com

时间: 2024-08-02 02:13:08

Storm入门之附录B的相关文章

Storm入门之附录A

本文翻译自<Getting Started With Storm>译者:吴京润    编辑:郭蕾 方腾飞 安装Storm客户端 Storm客户端能让我们使用命令管理集群中的拓扑.按照以下步骤安装Storm客户端: 从Storm站点下载最新的稳定版本(https://github.com/nathanmarz/storm/downloads)当前最新版本是storm-0.8.1.(译者注:原文是storm-0.6.2,不过翻译的时候已经是storm-0.8.1了) 把下载的文件解压缩到/usr/

Storm入门之附录C

本文翻译自<Getting Started With Storm>译者:吴京润    编辑:郭蕾 方腾飞 安装实际的例子 译者注:有些软件的最新版本已有变化,译文不会完全按照原文翻译,而是列出当前最新版本的软件. 首先,从下述GitHub的URL克隆这个例子: 1 > git clone git://github.com/storm-book/examples-ch06-real-life-app.git src/main 包含拓扑的源码 src/test 包含拓扑的测试用例 webap

《Storm入门》中文版

本文翻译自<Getting Started With Storm>译者:吴京润    编辑:郭蕾 方腾飞 本书的译文仅限于学习和研究之用,没有原作者和译者的授权不能用于商业用途. 译者序 Storm入门终于翻译完了.首先感谢并发编程网同意本人在网站上首发本书译文,同时还要感谢并发编程网的各位大牛们的耐心帮助.这是本人翻译的第一本书,其中必有各种不足请诸位读者朋友不吝斧正. 译完此书之后,我已经忘记了是如何知道的Storm这个工具了.本人读过的所有技术书籍大部分都是在地铁上完成的,现在已经成了习

Storm入门之第8章事务性拓扑

Storm入门之第8章事务性拓扑 本文翻译自<Getting Started With Storm>译者:吴京润    编辑:郭蕾 方腾飞 正如书中之前所提到的,使用Storm编程,可以通过调用ack和fail方法来确保一条消息的处理成功或失败.不过当元组被重发时,会发生什么呢?你又该如何砍不会重复计算?   Storm0.7.0实现了一个新特性--事务性拓扑,这一特性使消息在语义上确保你可以安全的方式重发消息,并保证它们只会被处理一次.在不支持事务性拓扑的情况下,你无法在准确性,可扩展性,以

Storm入门 第二章准备开始

本文翻译自<Getting Started With Storm>  译者:吴京润   编辑:方腾飞 准备开始 在本章,我们要创建一个Storm工程和我们的第一个Storm拓扑结构. NOTE: 下面假设你的JRE版本在1.6以上.我们推荐Oracle提供的JRE.你可以到http://www.java .com/downloads/下载. 操作模式 开始之前,有必要了解一下Storm的操作模式.有下面两种方式. 本地模式 在本地模式下,Storm拓扑结构运行在本地计算机的单一JVM进程上.这

Storm入门之第三章拓扑

本文翻译自<Getting Started With Storm>  译者:吴京润   编辑:方腾飞 在这一章,你将学到如何在同一个Storm拓扑结构内的不同组件之间传递元组,以及如何向一个运行中的Storm集群发布一个拓扑. 数据流组 设计一个拓扑时,你要做的最重要的事情之一就是定义如何在各组件之间交换数据(数据流是如何被bolts消费的).一个数据流组指定了每个bolt会消费哪些数据流,以及如何消费它们. NOTE:一个节点能够发布一个以上的数据流,一个数据流组允许我们选择接收哪个. 数据

Storm入门之第6章一个实际的例子

本文翻译自<Getting Started With Storm>译者:吴京润    编辑:郭蕾 方腾飞 本章要阐述一个典型的网络分析解决方案,而这类问题通常利用Hadoop批处理作为解决方案.与Hadoop不同的是,基于Storm的方案会实时输出结果.     我们的这个例子有三个主要组件(见图6-1) 一个基于Node.js的web应用,用于测试系统 一个Redis服务器,用于持久化数据 一个Storm拓扑,用于分布式实时处理数据 图6-1  架构概览 NOTE:你如果想先把这个例子运行起

Storm入门之第四章Spouts

本文翻译自<Getting Started With Storm>  译者:吴京润   编辑:方腾飞 你将在本章了解到spout作为拓扑入口和它的容错机制相关的最常见的设计策略. 可靠的消息 VS 不可靠的消息 在设计拓扑结构时,始终在头脑中记着的一件重要事情就是消息的可靠性.当有无法处理的消息时,你就要决定该怎么办,以及作为一个整体的拓扑结构该做些什么.举个例子,在处理银行存款时,不要丢失任何事务报文就是很重要的事情.但是如果你要统计分析数以百万的tweeter消息,即使有一条丢失了,仍然可

Storm入门之第一章

原书下载地址 译者:吴京润   编辑:方腾飞 译者注:本文翻译自<Getting Started With Storm>,本书中所有Storm相关术语都用斜体英文表示. 这些术语的字面意义翻译如下,由于这个工具的名字叫Storm,这些术语一律按照气象名词解释 spout 龙卷,读取原始数据为bolt提供数据 bolt 雷电,从spout或其它bolt接收数据,并处理数据,处理结果可作为其它bolt的数据源或最终结果 nimbus 雨云,主节点的守护进程,负责为工作节点分发任务. 下面的术语跟气