杀死拓扑的命令(正如您正确提到的那样):
storm kill topology-name
要关闭集群,您需要在每个节点上运行以下命令:
sudo service supervisord stop
注意: 给supervisord
几秒钟即可关机的所有进程。请注意,尝试supervisorctl
在管理程序本身停止时运行将导致错误消息(在管理程序2.x中这似乎是已知的用户界面问题)
从本文档
如何杀死所有Storm进程,包括工作进程?当您停止集群时,碰巧正在运行的所有工作线程(由从属节点上的Supervisor守护程序启动)将继续运行。这是Storm的蓄意设计决定,因为这意味着崩溃/重新启动Nimbus和Supervisor守护程序不会影响Storm中的任何运行拓扑。缺点是您必须付出额外的努力才能完全停止群集中所有与Storm相关的进程。
如果要杀死所有进程,请在从属节点上执行以下过程:
$ sudo supervisorctl stop storm-supervisor
$ sudo pkill -TERM -u storm -f 'backtype.storm.daemon.worker'