天天看点

Apache Storm 官方文档 —— 命令行操作

storm 中支持的命令包括:

jar

kill

activate

deactivate

rebalance

repl

classpath

localconfvalue

remoteconfvalue

nimbus

supervisor

ui

drpc

语法:<code>storm jar topology-jar-path class ...</code>

语法:<code>storm kill topology-name [-w wait-time-secs]</code>

杀死集群中正在运行的名为 <code>topology-name</code> 的拓扑。执行该操作后,storm 首先会注销拓扑中的 spout,使得拓扑中的消息超时,这样当前的所有消息就会结束执行。随后,storm 会将所有的 worker 关闭,并清除他们的状态。你可以使用 <code>-w</code>参数来调整 storm 在注销与关闭拓扑之间的间隔时间。

语法:<code>storm activate topology-name</code>

激活运行指定拓扑的所有 spout。

语法:<code>storm deactivate topology-name</code>

停止指定拓扑的所有 spout 的运行。

语法:<code>storm rebalance topology-name [-w wait-time-secs]</code>

有些场景下需要对正在运行的拓扑的工作进程(worker)进行弹性扩展。例如,加入你有 10 个节点,每个节点上运行有 4 个 worker,现在由于各种原因你需要为集群添加 10 个新节点。这时你就会希望通过扩展正在运行的拓扑的 worker 来使得每个节点只运行两个 worker,降低集群的负载。实现这个目的的一种直接的办法是 kill 掉正在运行的拓扑,然后重新向集群提交。不过 storm 提供了再平衡命令可以以一种更简单的方法实现目的。

再平衡首先会在一个超时时间内(这个时间是可以通过 <code>-w</code> 参数配置的)注销掉拓扑,然后在整个集群中重新分配 worker。接着拓扑就会自动回到之前的状态(也就是说之前处于注销状态的拓扑仍然会保持注销状态,而处于激活状态的拓扑则会返回激活状态)。

语法:<code>storm repl</code>

打开一个带有类路径上的 jar 包和配置信息的 clojure 的交互式解释器(repl)。该命令主要用于调试。

语法:<code>storm classpath</code>

打印客户端执行命令时使用的类路径环境变量。

语法:<code>storm localconfvalue conf-name</code>

打印出本地 storm 配置中 <code>conf-name</code> 属性的值。这里的本地配置指的是 <code>~/.storm/storm.yaml</code> 和 <code>defaults.yaml</code> 两个配置文件综合后的配置信息。

语法:<code>storm remoteconfvalue conf-name</code>

打印出集群配置中 <code>conf-name</code> 属性的值。这里的集群配置指的是 <code>$storm-path/conf/storm.yaml</code> 和 <code>defaults.yaml</code> 两个配置文件综合后的配置信息。该命令必须在一个集群机器上执行。

语法:<code>storm nimbus</code>

语法:<code>storm supervisor</code>

语法:<code>storm ui</code>

语法:<code>storm drpc</code>