apache Storm学习之三-消息可靠性】的更多相关文章

4.1 简介 storm可以确保spout发送出来的每个消息都会被完整的处理.本章将会描述storm体系是如何达到这个目标的,并将会详述开发者应该如何使用storm的这些机制来实现数据的可靠处理. 4.2 理解消息被完整处理 TopologyBuilder builder = new TopologyBuilder(); builder.setSpout("sentences", new KestrelSpout("kestrel.backtype.com", 22…
Storm学习笔记 - 消息容错机制 文章来自「随笔」 http://jsynk.cn/blog/articles/153.html 1. Storm消息容错机制概念 一个提供了可靠的处理机制的spout需要记录自己emit(发射)的tuple(消息元祖),当下游bolt处理tuple或者子tuple失败时spout能够重新发射. Storm通过调用Spout的nextTuple()发送一个tuple.为实现可靠的消息处理,首先要给每个发出的tuple带上唯一的ID,并且将ID作为参数传递给So…
2.1 Storm基本概念 在运行一个Storm任务之前,需要了解一些概念: Topologies Streams Spouts Bolts Stream groupings Reliability Tasks Workers Configuration Storm集群和Hadoop集群表面上看很类似.但是Hadoop上运行的是MapReduce jobs,而在Storm上运行的是拓扑(topology),这两者之间是非常不一样的.一个关键的区别是: 一个MapReduce job最终会结束,…
http://blog.csdn.net/zhu_tianwei/article/details/53971296 下面主要从队列.消息发送.消息接收方面了解消息传递过的一些可靠性处理. 1.队列 消费者是无法订阅或者获取不存在的MessageQueue中信息.消息被Exchange接受以后,如果没有匹配的Queue,则会被丢弃. 声明一个队列 channel.queueDeclare(queue, durable, exclusive, autoDelete, arguments) durab…
Storm流之FieldGrouping字段分组: https://blog.csdn.net/Simon_09010817/article/details/80092080…
Storm系列三: Storm消息可靠性保障 在上一篇 Storm系列二: Storm拓扑设计 中我们已经设计了一个稍微复杂一点的拓扑. 而本篇就是在上一篇的基础上再做出一定的调整. 在这里先大概提一下上一篇的业务逻辑, 我们会不断收到来自前端的消息,消息包含消息的发送时间,消息内容,结束标识, 消息的发送者, SessionId等其他信息, 我们需要做的事情是当接收到消息之后,根据SessionId判断是否属于同一消息, 如果是的话将内容拼接, 如果结束标识为 true, 表示会话已结束,则存…
准备工作 这个教程使用storm-starter项目里面的例子.我推荐你们下载这个项目的代码并且跟着教程一起做.先读一下:配置storm开发环境和新建一个strom项目这两篇文章把你的机器设置好. 一个Storm集群的基本组件 storm的集群表面上看和hadoop的集群非常像.但是在Hadoop上面你运行的是MapReduce的Job, 而在Storm上面你运行的是Topology.它们是非常不一样的 — 一个关键的区别是: 一个MapReduce Job最终会结束, 而一个Topology运…
转自:http://blog.csdn.net/hrn1216/article/details/51538962 翻译太累了,再也不想去翻译了,真的太累了: 在这个教程中, 你将学到如何创建一个Storm topologies以及怎样把它部署到storm集群上.本教程中,Java将作为主要使用的语言,但在一小部分示例中将会使用Python来阐述storm处理多语言的能力. 预备工作 本教程使用的例子来自于 storm-starter 项目. 我们建议你拷贝该项目并跟随这个例子来进行学习. 请阅读…
英文原文地址 中英文对照地址 History of Apache Storm and lessons learned --项目创建者 Nathan Marz Apache Storm 最近成为了ASF的顶级项目,这对于该项目和我个人而言是一个重大的里程碑.很难想像4年前Storm只是我脑海中的一个想法,但现在却成为了一个有着大社区支持并被无数企业使用的繁荣项目.在此我将在本文中回首Storm的成长历程及其经验教训. 我会根据我当初必须要克服的主要挑战来涵盖Storm历史的相关主题.本文前25%是…
阅读目录 Storm来源 初探 再探 构建第一个版本 被Twitter收购 开源的Storm 发布之后 Storm的技术演进 构建开发者社区版 离开Twitter 提交到Apache Apache孵化 结论 Apache Storm 最近成为了ASF的顶级项目,这对于该项目和我个人而言是一个重大的里程碑.很难想像4年前Storm只是我脑海中的一个想法,但现在却成为了一个有着大社区支持并被无数企业使用的繁荣项目.在此我将在本文中回首Storm的成长历程及其经验教训. 我会根据我当初必须要克服的主要…
[转载自https://yq.aliyun.com/articles/87510?t=t1] Storm 系统中包含以下几个基本概念: 拓扑(Topologies) 流(Streams) 数据源(Spouts) 数据流处理组件(Bolts) 数据流分组(Stream groupings) 可靠性(Reliability) 任务(Tasks) 工作进程(Workers) 译者注:由于 Storm 的几个基础概念无论是直译还是意译均不够清晰,而且还会让习惯了 Storm 编程模型的读者感到困惑,因此…
作者:jiangzz 电话:15652034180 微信:jiangzz_wx 微信公众账号:jiangzz_wy 背景介绍 流计算:将大规模流动数据在不断变化的运动过程中实现数据的实时分析,捕捉到可能有用的信息,并把结果发送到下一计算节点. 主流流计算框架:Kafka Streaming.Apache Storm.Spark Streaming.Flink DataStream等. Kafka Streaming:是一套基于Kafka-Streaming库的一套流计算工具jar包,具有简单容易…
Storm学习笔记 - Storm初识 1. Strom是什么? Storm是一个开源免费的分布式计算框架,可以实时处理大量的数据流. 2. Storm的特点 高性能,低延迟. 分布式:可解决数据量大,单机搞不定的场景. 可扩展:随着业务的发展,数据量越来越大,系统可以水平扩展. 容错:单个节点挂了,不影响整个应用. 3. Storm与其他框架的比较 3.1 Storm和Hadoop的比较 Storm用于实时计算,Hadoop用于离线计算. Storm处理的数据保存在内存中,源源不断.Hadoo…
1. Storm程序的并发机制 1.1 概念 Workers (JVMs): 在一个物理节点上可以运行一个或多个独立的JVM 进程.一个Topology可以包含一个或多个worker(并行的跑在不同的物理机上), 所以worker process就是执行一个topology的子集, 并且worker只能对应于一个topology  Executors (threads): 在一个worker JVM进程中运行着多个Java线程.一个executor线程可以执行一个或多个tasks.但一般默认每个…
官方链接: http://storm.incubator.apache.org/documentation/Guaranteeing-message-processing.html What does it mean for a message to be “fully processed”? A tuple coming off a spout can trigger thousands of tuples to be created based on it. Consider, for ex…
原文地址 实时商务智能这一构想早已算不得什么新生事物(早在2006年维基百科中就出现了关于这一概念的页面).然而尽管人们多年来一直在对此类方案进行探讨,我却发现很多企业实际上尚未就此规划出明确发展思路.甚至没能真正意识到其中蕴含的巨大效益. 为什么会这样?一大原因在于目前市场上的实时商务智能与分析工具仍然非常有限.传统数据仓库环境针对的主要是批量处理流程,这类方案要么延迟极高.要么成本惊人--当然,也可能二者兼具. 然而已经有多款强大而且易于使用的开源平台开始兴起,欲彻底扭转目前的不利局面.其中…
欢迎转载,转载请注意出处,徽沪一郎. “源码走读系列”从代码层面分析了storm的具体实现,接下来通过具体的实例来说明storm的使用.因为目前storm已经正式迁移到Apache,文章系列也由twitter storm转为apache storm. WordCountTopology 使用storm来统计文件中的每个单词的出现次数. 通过该例子来说明tuple发送时的几个要素 source component   发送源 destination component 接收者 stream 消息通…
4.Storm学习资料推荐 书籍: 英文: Learning Storm: Ankit Jain, Anand Nalya: 9781783981328: Amazon.com: Books Getting Started with Storm: Jonathan Leibiusky, Gabriel Eisbruch, Dario Simonassi: 9781449324018: Amazon.com: Books Amazon.com: Storm Real-Time Processing…
写在前面的话 本人长期关注数据挖掘与机器学习相关前沿研究.欢迎和我交流,私人微信:846731084 我自己测试了一下这个版本,总的来说更加稳定,新增的特性并没有一一测试,仅凭kafk-client来说,是达到了生产环境的使用. 使用阿里云服务器的话,使用清华的节点下载是巨快的.(http://mirrors.tuna.tsinghua.edu.cn/apache/storm/apache-storm-1.1.0/apache-storm-1.1.0.tar.gz) Storm 1.1.0 发布…
1.storm介绍         storm是一种用于事件流处理的分布式计算框架,它是有BackType公司开发的一个项目,于2014年9月加入了Apahche孵化器计划并成为其旗下的顶级项目之一.Storm可以方便地在一个计算机集群中编写与扩展复杂的实时计算,Storm用于实时处理,就好比 Hadoop 用于批处理.Storm保证每个消息都会得到处理,而且它很快--在一个小集群中,每秒可以处理数以百万计的消息.更棒的是你可以使用任意编程语言来做开发.storm源码:githup storm特…
前言 Apache Storm 是一个免费的,开源的,分布式的实时计算系统. 官方文档: http://storm.apache.org 中文文档: http://storm.apachecn.org ApacheCN 最近组织了翻译 Storm 1.1.0 中文文档 的活动,整体 翻译进度 为 96%. 感谢大家参与到该活动中来 感谢无私奉献的 贡献者,才有了这份 Storm 1.1.0 中文文档 感谢一路有你的陪伴,我们才可以做的更好,走的更快,走的更远,我们一直在努力 ... 网页地址:…
前言: Storm读取实时数据流,并传递给处理单元,最终输出处理后的数据. 下图描述了storm的处理数据的主要结构. 元组(Tuple) :       元组是Storm提供的一个轻量级的数据格式,可以用来包装你需要实际处理的数据.元组是一次消息传递的基本单元.一个元组是一个命名的值列表,其中的每个值都可以是任意类型的.元组是动态地进行类型转化的(字段的类型不需要事先声明).在Storm中编程时,就是在操作和转换由元组组成的流.通常,元组包含整数,字节,字符串,浮点数,布尔值和字节数组等类型.…
Twitter Storm如何保证消息不丢失 发表于 2011 年 09 月 30 日 由 xumingming 作者: xumingming | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://xumingming.sinaapp.com/127/twitter-storm如何保证消息不丢失/ 本文翻译自: https://github.com/nathanmarz/storm/wiki/Guaranteeing-message-processing s…
Apache Flink学习笔记 简介 大数据的计算引擎分为4代 第一代:Hadoop承载的MapReduce.它将计算分为两个阶段,分别为Map和Reduce.对于上层应用来说,就要想办法去拆分算法,在上层应用实现多个Job串联,完成一个完整算法.例如:迭代计算 第二代:支持DAG框架的计算引擎,如Tez以及更上层的Oozie. 第三代:Spark为代表的计算引擎.特点是Job内部的DAG支持(不跨越Job),以及强调的实时计算. 第四代:Flink对流计算的支持,也可以支持Batch任务以及…
Apache Storm 是 Apache 基金会的开源的分布式实时计算系统.与 Hadoop 的批处理相类似,Storm 可以对大量的数据流进行可靠的实时处理,这一过程也称为“流式处理”,是分布式大数据处理的一个重要方向.Storm 支持多种类型的应用,包括:实时分析.在线机器学习.连续计算.分布式RPC(DRPC).ETL等.Strom 的一个重要特点就是“快速”的数据处理,有 benchmark 显示 Storm 能够达到单个节点每秒百万级 tuple 处理(tuple 是 Storm 的…
1.前言 IM App 是我做过 App 类型里复杂度最高的一类,里面可供深究探讨的技术难点非常之多.这篇文章和大家聊下从移动端客户端的角度所关注的IM消息可靠性和送达机制(因为我个人对移动客户端的经验积累的比较丰富嘛). 学习交流: - 即时通讯开发交流群:320837163[推荐] - 移动端IM开发入门文章:<新手入门一篇就够:从零开发移动端IM> (本文同步发布于:http://www.52im.net/thread-1470-1-1.html) 2.关于作者   作者网名:Peak,…
一.整合说明 Storm官方对Kafka的整合分为两个版本,官方说明文档分别如下: Storm Kafka Integration : 主要是针对0.8.x版本的Kafka提供整合支持: Storm Kafka Integration (0.10.x+) : 包含Kafka 新版本的 consumer API,主要对Kafka 0.10.x +提供整合支持. 这里我服务端安装的Kafka版本为2.2.0(Released Mar 22, 2019) ,按照官方0.10.x+的整合文档进行整合,不…
关于对storm的介绍已经有很多了,我这里不做过多的介绍,我介绍一下我自己的学习路线,希望能帮助一些造轮子的同学走一些捷径,毕竟我也是站在前人总结整理的基础上学习了,如果有不足之处,还请大家不要喷我. 一.Storm的学习路线 1.数据的操作方式 storm对数据的操作有2种方式,一种是原始的spout bolt topology 操作(storm入门demo),另一种是trident操作(storm trident 的介绍与使用). 我们要掌握这2种数据的操作方式,原始的操作是storm本身底…
继续上篇文章解决RabbitMQ消息丢失问题和保证消息可靠性(一) 未完成部分,我们聊聊MQ Server端的高可用和消费端如何保证消息不丢的问题? 回归上篇的内容,我们知道消息从生产端到服务端,为了保证消息不丢,我们必须做哪些事情? 发送端采用Confirm模式,注意Server端没成功通知发送端,需要重发操作需要额外处理 消息的持久化处理 上面两个操作保证消息到服务端不丢,但是非高可用状态,如果节点挂掉,服务暂时不可用,需要重启后,消息恢复,消息不会丢失,因为有磁盘存储. 本文先从消费端讲起…
什么是Apache Storm Apache Storm是一个分布式实时大数据处理系统.Storm设计用于在容错和水平可扩展方法中处理大量数据.它是一个流数据框架,具有最高的摄取率.虽然Storm是无状态的,它通过Apache ZooKeeper管理分布式环境和集群状态.通过Storm可以并行地对实时数据执行各种操作.Storm易于部署和操作,并且它可以保证每个消息将通过拓扑至少处理一次. Apache Storm核心概念 Apache Storm从一端读取​​实时数据的原始流,并将其传递通过一…