如果修改了 storm 的 spout 和 bolt 代码,就 kill 掉作业,重新提交吧。那么 kill 作业的时候如何做 cleanup 的工作呢?

问题描述

我的作业是这样的:spout收集日志->bolt汇总日志并每隔1秒钟插入数据库每条日志都需要处理不能丢killtask的时候spout的会先置为失效,这时候就没有消息推送到bolt中了。然后再停止掉bolt中没有数据推送过来,所以就不会再触发process方法了那么这1秒钟内数据将没法插入到数据库里了storm里的cleanup方法貌似只能工作在本地模式下,那么我想要在分布式模式下kill作业的时候做下cleanup的处理该如何做呢?

解决方案

解决方案二:
分布式模式下kill掉一个task,storm会在其他地方重启task吧!貌似cleanup只适合单机开发测试用!
解决方案三:
对啊分布式环境下cleanup死活不调用我用的是storm0.8.2,这样的话我每次重新发布topology的时候,那个缓存里面的数据就会被丢掉了,有没有更好的方案

时间: 2024-12-22 18:37:25

如果修改了 storm 的 spout 和 bolt 代码,就 kill 掉作业,重新提交吧。那么 kill 作业的时候如何做 cleanup 的工作呢?的相关文章

《Storm分布式实时计算模式》——第1章 分布式单词计数1.1 Storm topology的组成部分——stream、spout和bolt

第1章 分布式单词计数 本章将介绍使用Storm建立一个分布式流式计算应用时涉及的核心概念.我们通过建立一个简单的计数器程序实现这个目的.计数器将持续输入的一句句话作为输入流,统计其中单词出现的次数.单词计数这个例子浅显易懂,引入了多种数据结构.技术和设计模式.这些都是实现更复杂计算所必须的基础. 本章首先概要介绍Storm的数据结构,然后实现一个完整Storm程序所需的各个组成部分.读完本章,读者将会了解Storm计算的基本结构.搭建开发环境的方法.Storm程序的开发和调试技术. 本章包括以

大神,storm ui上显示的spout和bolt的Acked数量到达一定数后又重新计数

问题描述 大神,storm ui上显示的spout和bolt的Acked数量到达一定数后又重新计数 这是怎么回事啊?Topology设置的setNumAckers为0,会不会跟这个有关啊,现目前是计算到50万左右就重新计数了,很奇怪,求解啊大神,没有币了,下次补上.

急!was忘记控制台密码,修改security后,kill掉dmgr,重启报错,求大侠指导

问题描述 急!was忘记控制台密码,修改security后,kill掉dmgr,重启报错,求大侠指导 10C was忘记控制台密码,看网上说把security.xml中ture改为false然后kill掉dmgr再启动时报错,请各位大侠赐教,谢谢!!! 另外SystemOut.log中有一句[1/15/16 16:11:03:327 CST] 00000000 WsServerImpl E WSVR0100W: An error occurred initializing dmgr [class

php文件-php如何修改才能让按钮点击后变成灰色不可用状态达到防止重复提交的效果

问题描述 php如何修改才能让按钮点击后变成灰色不可用状态达到防止重复提交的效果 <?=config::form('opcardbutton','确认转账','submit');?>这串代码是一个php文件里面的提交按钮代码,如何修改才能让按钮点击后变成灰色不可用状态,以达到防止重复提交的效果 解决方案 在 form 上 onsubmit 方法中 写js方法代码,获取按钮 设置 disabled 属性 解决方案二: 用js来设置,不是用php 给按钮增加个id,然后表单提交后设置disable

sql生成(插入、修改、删除数据的存储过程)代码的存储过程

GO /****** 对象: StoredProcedure [dbo].[pro_GenerateProSet] 脚本日期: 08/03/2012 11:26:43 ******/ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[pro_GenerateProSet]') AND type in (N'P', N'PC')) DROP PROCEDURE [dbo].[pro_GenerateP

c#后台修改前台DOM的css属性示例代码

本文为大家详细介绍下如何使用c#修改前台DOM的css属性,具体示例如下,感兴趣的朋友可以参考下哈,希望对大家有所帮助   <div id = 'div1' runat="server">haha</div> ----------- 后台代码中这样调用 div1.Style["display"]="inline"; 注意,c#中要用双引号. using System.Web.UI.WebControls;得引入这个命名空间

VBA修改窗口为最小化、最大化代码

  以下的VBA代码,均于Excel中的VBA有关,是用来修改应用程序的相关属性的.代码收藏如下. Application.WindowState = xlMinimized '窗口最小化 Application.WindowState =xlMaximized 最大化 Application.WindowState =xlNormal 为正常 Application.Cursor = xlIBeam '设置光标形状为Ⅰ字形 Application.Cursor = xlWait 为沙漏(等待)

修改或扩展jQuery原生方法的代码实例_jquery

修改或者扩展jQuery的方法代码实例: 毫无疑问,jQuery是一款功能强大且使用方便的类库. 从它的广泛应用可以证实上面的观点,但是正所谓人无完人,金无足赤,jQuery也是如此,并非在任何时候或者场合都能够完美的完成我们的任务,所以有事以后就需要对jQuery原有的方法进行扩展修改,但是最好方法仍然具有原来的功能. 代码实例: 复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-

CMD和vbs修改 IP地址及DNS的实现代码_vbs

修改IP cmd /c netsh interface ip set address name=" 本地连接" source=static addr=211.82.56.253 mask=255.255.255.0 gateway=211.82.56.1 gwmetric=1 修改DNS cmd /c netsh interface ip set dns name="本地连接" source=static addr=202.99.192.66 配置或更新IP地址: