当前位置: 首页 > 面试题库 >

制止风暴:正确的方法

席安康
2023-03-14
问题内容

有没有一种干净的方法可以阻止风暴,而又不使用“ kill XXX”杀死风暴,其中XXX是PID?

我运行“ storm kill topology-
name”杀死拓扑,但是在那之后,有没有一种干净的方法来关闭worker,nimbus,supervisor和ui?

我没有从文档中找到与此命令相对应的任何命令:https : //github.com/nathanmarz/storm/wiki/Command-line-
client


问题答案:

杀死拓扑的命令(正如您正确提到的那样):

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'


 类似资料:
  • 我正在使用IntentService将图像上传到服务器。我的问题是我不知道如何/何时停止服务。当我在onHandleIntent(意图..)中调用stopself()时将删除在IntentService队列中等待的所有意图。但我不想停止活动中的服务,因为我想完成上传过程,即使我的应用程序没有运行。

  • 默认情况下,当Storm喷口或螺栓遇到异常时,它会重新启动喷口或螺栓,然后再试一次。是否有任何配置选项使它停止拓扑,也许在N次重复尝试之后?(例如,Hadoop尝试了4次才放弃。) 我有一个Storm拓扑运行了77天,一个螺栓在每个元组上引发一个异常。在这种情况下,我宁愿它失败,这样我就会注意到有问题。

  • 我试图把Kafka数据通过Storm在hdfs和Hive。我在和HortonWorks合作。因此,我有以下结构,正如在许多教程(http://henning.kropponline.de/2015/01/24/hive-streaming-with-storm/)中看到的那样(稍加修改): 我将kafka-spout数据直接发送到hdfs-bolt,当我只使用hdfs-bolt时,它是工作的。当我

  • 利用 cocos2d 制作的一款休闲游戏。游戏中有九种不同的卡通水果,您可以拖动整行或整列上的水果,或交换屏幕中两个相邻水果的位置,一条直线上的三个或三个以上的相同水果将会消失,而您将得到分数。当您的分数逐步提高后,将会进入更高难度的关卡,接受更高难度的挑战。 游戏中允许使用一些道具。 [Code4App.com]

  • 问题内容: 在终止风暴拓扑之前如何调用特定方法。 我已经在风暴中创建了一个拓扑,我想在拓扑被杀死之前调用特定的方法。 在Storm框架中是否有任何预定义的覆盖或任何可用的方法来做到这一点。 提前致谢:) 问题答案: 哪有这回事… 解决方法是,可以先删除拓扑,然后再取消拓扑。这样可以确保被调用。 如果需要使用螺栓调用方法,请使用来通过整个拓扑发送“通知元组”(不包含要处理的数据)。并且在每个螺栓中,

  • 我有一个EvaluationBolt(用于内存监视),我希望确保每个工作进程上运行一个执行器(在我的例子中,每个物理节点运行一个执行器,即supervisor.slots.ports只配置为端口6700)。在题目上我发现了这个问题: 干杯,孙铁麟