Storm 附录 A
附录 A
安装 Storm 客户端
Storm 客户端能让我们使用命令管理集群中的拓扑。按照以下步骤安装 Storm 客户端:
- 从 Storm 站点下载最新的稳定版本(https://github.com/nathanmarz/storm/downloads)当前最新版本是storm-0.8.1。(译者注:原文是 storm-0.6.2,不过翻译的时候已经是 storm-0.8.1 了)
现在,你可以管理你的 Storm 集群中的拓扑了。
NOTE
:Storm 客户端包含运行一个 Storm 集群所需的所有 Storm 命令,但是要运行它你需要安装一些其它的工具并做一些配置。详见附录B。
有许多简单且有用的命令可以用来管理拓扑,它们可以提交、杀死、禁用、再平衡拓扑。
jar
命令负责把拓扑提交到集群,并执行它,通过 StormSubmitter
执行主类。
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 方法的参数。
我们能够挂起或停用运行中的拓扑。当停用拓扑时,所有已分发的元组都会得到处理,但是spouts 的 nextTuple
方法不会被调用。
停用拓扑:
storm deactivte topology-name
启动一个停用的拓扑:
storm activate topology-name
销毁一个拓扑,可以使用 kill 命令。它会以一种安全的方式销毁一个拓扑,首先停用拓扑,在等待拓扑消息的时间段内允许拓扑完成当前的数据流。杀死一个拓扑:
storm kill topology-name
NOTE
:执行 kill 命令时可以通过 -w 等待秒数指定拓扑停用以后的等待时间。
再平衡使你重分配集群任务。这是个很强大的命令。比如,你向一个运行中的集群增加了节点。再平衡命令将会停用拓扑,然后在相应超时时间之后重分配工人,并重启拓扑。再平衡拓扑:
storm rebalance topology-name
NOTE
:执行不带参数的 Storm 客户端可以列出所有的 Storm 命令。完整的命令描述请见:https://github.com/nathanmarz/storm/wiki/Command-line-client。