Storm入门之附录A

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

安装Storm客户端

Storm客户端能让我们使用命令管理集群中的拓扑。按照以下步骤安装Storm客户端:

  1. 从Storm站点下载最新的稳定版本(https://github.com/nathanmarz/storm/downloads)当前最新版本是storm-0.8.1。(译者注:原文是storm-0.6.2,不过翻译的时候已经是storm-0.8.1了)
  2. 把下载的文件解压缩到/usr/local/bin/storm的Storm共享目录。
  3. 把Storm目录加入PATH环境变量,这样就不用每次都输入全路径执行Storm了。如果我们使用了/usr/local/bin/storm,执行export PATH=$PATH:/usr/local/bin/storm
  4. 最后,创建Storm本地配置文件:~/.storm/storm.yaml,在配置文件中按如下格式加入nimbus主机:

      nimbus.host:"我们的nimbus主机"

 

现在,你可以管理你的Storm集群中的拓扑了。

NOTE:Storm客户端包含运行一个Storm集群所需的所有Storm命令,但是要运行它你需要安装一些其它的工具并做一些配置。详见附录B

有许多简单且有用的命令可以用来管理拓扑,它们可以提交、杀死、禁用、再平衡拓扑。

jar命令负责把拓扑提交到集群,并执行它,通过StormSubmitter执行主类。

1 storm jar path-to-topology-jar class-with-the-main arg1 arg2 argN

path-to-topology-jar是拓扑jar文件的全路径,它包含拓扑代码和依赖的库。 class-with-the-main是包含main方法的类,这个类将由StormSubmitter执行,其余的参数作为main方法的参数。

我们能够挂起或停用运行中的拓扑。当停用拓扑时,所有已分发的元组都会得到处理,但是spoutsnextTuple方法不会被调用。

停用拓扑:

1 storm deactivte topology-name

启动一个停用的拓扑:

1 storm activate topology-name

销毁一个拓扑,可以使用kill命令。它会以一种安全的方式销毁一个拓扑,首先停用拓扑,在等待拓扑消息的时间段内允许拓扑完成当前的数据流。
杀死一个拓扑:

查看源代码

打印帮助

1 storm kill topology-name

NOTE:执行kill命令时可以通过-w [等待秒数]指定拓扑停用以后的等待时间。

再平衡使你重分配集群任务。这是个很强大的命令。比如,你向一个运行中的集群增加了节点。再平衡命令将会停用拓扑,然后在相应超时时间之后重分配工人,并重启拓扑。
再平衡拓扑:

1 storm rebalance topology-name
NOTE:执行不带参数的Storm客户端可以列出所有的Storm命令。完整的命令描述请见:https://github.com/nathanmarz/storm/wiki/Command-line-client

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

时间: 2024-09-30 03:25:44

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

Storm入门之附录B

本文翻译自<Getting Started With Storm>译者:吴京润    编辑:郭蕾 方腾飞 安装Storm集群 译者注:本附录的内容已经有些陈旧了.最新的Storm已不再必须依赖ZeroMQ,各种依赖的库和软件也已经有更新的版本. 有以下两种方式创建Storm集群: 使用Storm部署在亚马逊EC2上面创建一个集群,就像你在第6章看到的. 手工安装(详见本附录) 要手工安装Storm,需要先安装以下软件 Zookeeper集群(安装方法详见管理向导) Java6.0 Python

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 雨云,主节点的守护进程,负责为工作节点分发任务. 下面的术语跟气