2015年10月25日

本文介绍”storm”命令行客户端的所有命令。要了解如何设置”storm”客户端来和远程集群通信,请参考设置开发环境中的指令。

这些命令包括:

  1. jar
  2. kill
  3. activate
  4. deactivate
  5. rebalance
  6. repl
  7. classpath
  8. localconfvalue
  9. remoteconfvalue
  10. nimbus
  11. supervisor
  12. ui
  13. drpc

jar

语法:storm jar topology-jar-path class ...

使用指定参数运行class的main方法。~/.storm路径下的Storm相关jar包和配置文件会被加入类路径。进程会进行设置,这样StormSubmitter在提交拓扑时会上传topology-jar-path下的jar包。

kill

语法:storm kill topology-name [-w wait-time-secs]

终止名为topology-name的拓扑。Storm首先停用拓扑的Spout并等待拓扑的超时时间,以便所有处理中的消息有机会被处理完毕。然后Storm会终止工作线程并清理状态。用户可以通过-w参数设置Storm在停用Spout和终止工作线程之间的等待时间。

activate

语法:storm activate topology-name

激活指定的拓扑的Spout。

deactivate

语法:storm deactivate topology-name

停用指定的拓扑的Spout。

rebalance

语法:storm rebalance topology-name [-w wait-time-secs]

有时用户可能希望迁移运行拓扑的工作进程。例如,用户的集群有10个节点,每个节点上有4个工作进程,这时用户向集群新增了10个节点,并且希望工作进程能够迁移到新的节点上,从而每个节点只有2个工作进程。一种方法是终止进程然后重新提交,但是Storm提供了”rebalance”命令来更轻松地完成这个任务。

rebalance首先指定消息超时时间(使用-w参数)并停用拓扑,然后将工作进程平均分配到集群中的节点上。拓扑之后将会恢复到之前的状态(停用的拓扑仍然停用,激活的拓扑将自动激活)。

repl

语法:storm repl

使用Storm类路径内的jar包和配置打开一个Clojure REPL。调试时非常有用。

classpath

语法:storm classpath

打印Storm客户端运行命令时使用的类路径。

localconfvalue

语法:storm localconfvalue conf-name

打印本地Storm配置中名为conf-name的配置项的值。本地Storm配置为~/.storm/storm.yamldefaults.yaml合并之后的结果。

remoteconfvalue

语法:storm remoteconfvalue conf-name

打印远程Storm配置中名为conf-name的配置项的值。远程Storm配置为$STORM-PATH/conf/storm.yamldefaults.yaml合并之后的结果。此命令必须在集群中的机器上运行。

nimbus

语法:storm nimbus

启动nimbus守护进程。此命令应在类似daemontoolsmonit的工具的监控之下运行。详情请参考建立Storm集群

supervisor

语法:storm supervisor

启动supervisor守护进程。此命令应在类似daemontoolsmonit的工具的监控之下运行。详情请参考建立Storm集群

ui

语法:storm ui

启动UI守护进程。UI提供了一个Web界面用户展示运行中的拓扑的各种详细信息。此命令应在类似daemontoolsmonit的工具的监控之下运行。详情请参考建立Storm集群

drpc

语法:storm drpc

启动DRPC守护进程。此命令应在类似daemontoolsmonit的工具的监控之下运行。详情请参考建立Storm集群