在Linux终端直接输入storm,不带任何参数信息,或者输入storm help,可以查看Storm命令行客户端(Command line client)提供的帮助信息。
Storm 0.9.0.1版本在Linux终端直接输入storm后的输出内容如下:
Commands:
activate
classpath
deactivate
dev-zookeeper
drpc
help
jar
kill
list
localconfvalue
logviewer
nimbus
rebalance
remoteconfvalue
repl
shell
supervisor
ui
version
Help:
help
help <command>
Documentation for the storm client can be found at https://github.com/nathanmarz/storm/wiki/Command-line-client
Configs can be overridden using one or more -c flags, e.g. "storm list -c nimbus.host=nimbus.mycompany.com"
由此可知,新版Storm的命令行客户端提供了19个命令。
1. activate
激活指定的拓扑Spout。语法如下:
storm activate topology-name
2. classpath
打印出Storm客户端运行命令时使用的类路径(classpath)。语法如下:
storm classpath
3. deactivate
禁用指定的拓扑Spout。语法如下:
storm deactivate topology-name
4. dev-zookeeper
以dev.zookeeper.path配置的值作为本地目录,以storm.zookeeper.port配置的值作为端口,启动一个新的ZooKeeper服务,仅用来开发/测试。语法如下:
storm dev-zookeeper
5. drpc
启动一个DRPC守护进程。语法如下:
storm drpc
该命令应该使用daemontools或者monit工具监控运行。
6. help
打印一条帮助消息或者可用命令的列表。语法如下:
storm help
storm help <command>
直接输入不带参数的storm,也可以启动storm help命令。
7. jar
运行类的指定参数的main方法。语法如下:
storm jar topology-jar-path class ...
把Storm的jar文件和“~/.storm”的配置放到类路径(classpath)中,以便当拓扑提交时,StormSubmitter会上传topology-jar-path的jar文件。
8. kill
杀死名为topology-name的拓扑。语法如下:
storm kill topology-name [-w wait-time-secs]
Storm首先会在拓扑的消息超时时间期间禁用Spout,以允许所有正在处理的消息完成处理。然后,Storm将会关闭Worker并清理它们的状态。可以使用-w标记覆盖Storm在禁用与关闭期间等待的时间长度。
9. list
列出正在运行的拓扑及其状态。语法如下:
storm list
10. localconfvalue
打印出本地Storm配置的conf-name的值。语法如下:
storm localconfvalue conf-name
本地Storm配置是~/.storm/storm.yaml与defaults.yaml合并的结果。
11. logviewer
启动Logviewer守护进程。语法如下:
storm logviewer
Logviewer提供一个Web接口查看Storm日志文件。该命令应该使用daemontools或者monit工具监控运行。
12. nimbus
启动Nimbus守护进程。语法如下:
storm nimbus
该命令应该使用daemontools或者monit工具监控运行。
13. rebalance
语法如下:
storm rebalance topology-name [-w wait-time-secs]
有时你可能希望扩散一些正在运行的拓扑的Worker。例如,假设你有一个10个节点的集群,每个节点运行4个Worker,然后假设需要添加另外10个节点到集群中。你可能希望有Spout扩散正在运行中的拓扑的Worker,这样每个节点运行两个Worker。解决的一种方法是杀死拓扑并重新提交拓扑,但Storm提供了一个rebalance的命令,我们可以用一种更简单的方法来做到这一点。
rebalance首先会在消息超时时间内禁用拓扑,使用-w可以覆盖超时时间,然后重新均衡分配集群的Worker,拓扑会返回到它原来的状态,即禁用的拓扑仍将禁用,激活的拓扑继续激活。
14. remoteconfvalue
打印出远程集群Storm配置的conf-name的值。语法如下:
storm remoteconfvalue conf-name
集群Storm配置是$STORM-PATH/conf/storm.yaml与defaults.yaml合并的结果。该命令必须在集群节点上运行。
15. repl
打开一个包含类路径(classpath)中的jar文件和配置的Clojure REPL,以便调试时使用。语法如下:
storm repl
Clojure可以作为一种脚本语言内嵌到Java中,但是Clojure的首选 编程方式是使用REPL,REPL是一个简单的命令行接口。使用REPL,可以输入命令并执行,然后查看结果。
16. shell
执行Shell脚本。语法如下:
storm shell resourcesdir command args
17. supervisor
启动Supervisor守护进程。语法如下:
storm supervisor
该命令应该使用daemontools或者monit工具监控运行。
18. ui
启动UI守护进程。语法如下:
storm ui
UI为Storm集群提供了一个Web界面并显示运行拓扑的详细统计信息。该命令应该使用daemontools或者monit工具监控运行。
19. version
打印Storm发布的版本号。语法如下:
storm version
2.10 Javadoc文档
对于最新的Storm提供的在线 Javadoc文档信息,可以参考如下网址:
http://nathanmarz.github.io/storm/
目前,Storm提供的在线Javadoc文档如表2.4所示。
表2.4 Storm提供的在线Javadoc文档
Javadoc文档的链接地址
http://nathanmarz.github.io/storm/doc-0.8.1/index. html
http://nathanmarz.github.io/storm/doc-0.8.0/index. html
http://nathanmarz.github.io/storm/doc-0.7.1/index.html
http://nathanmarz.github.io/storm/doc-0.7.0/index.html
http://nathanmarz.github.io/storm/doc-0.6.2/index.html