大数据-流式计算-Storm
五柳-先生
宅边有五柳树,因以为号焉。
展开
-
基于storm引擎的虫洞系统
虫洞系统是吸星大法项目衍生出来实时计算的基础平台。 它以storm实时流处理引擎为基础,提供了计算力、数据源整合、数据交换、监控几大功能模块。任务的权限控制正在筹划中。 这几个功能模块是此实时计算平台提供稳定运行的基础,虫洞系统承载的业务包括:月光宝盒、一淘首页个性化(实时用户个性化指标的计算)、吸星大法实时日志接入(数据源整合)。 计算能力 基于storm的流转载 2013-10-01 10:00:09 · 910 阅读 · 0 评论 -
Storm入门指南第一章 基础知识
Storm是一个分布式、可靠、容错的流式数据处理系统。处理工作被分派给不同类型的组件(components),每个组件分别负责一个简单、特定的处理任务。处理Storm集群输入流的组件叫喷口(spout),喷口再将数据传给一个叫螺栓(bolt)的组件,并在螺栓中处理数据,处理完成之后,螺栓要么将这些数据存储起来(存储在数据库、磁盘甚至是对象中),要么将它传给其他螺栓。因此,可以将Storm集群想象成转载 2015-11-18 15:57:12 · 462 阅读 · 0 评论 -
Storm入门指南第二章 入门
本章我们将会创建一个Storm工程和我们的第一个Storm topology。 提示:下述假设你已经安装JRE1.6或者更高级版本。推荐使用Oracle提供的JRE:http://www.java.com/downloads/. 操作模式 在开始创建项目之前,了解Storm的操作模式(operation modes)是很重要的。Storm有两种运行方式: 本地模式 在转载 2015-11-18 18:25:49 · 830 阅读 · 1 评论 -
Storm常见模式4——批处理
Storm对流数据进行实时处理时,一种常见场景是批量一起处理一定数量的tuple元组,而不是每接收一个tuple就立刻处理一个tuple,这样可能是性能的考虑,或者是具体业务的需要。 例如,批量查询或者更新数据库,如果每一条tuple生成一条sql执行一次数据库操作,数据量大的时候,效率会比批量处理的低很多,影响系统吞吐量。 当然,如果要使用Storm的可靠数据处理机制的话,应该使用容器将这些转载 2015-11-18 19:54:08 · 433 阅读 · 0 评论 -
storm详解:第一章 storm分布式单词计数
问题导读 1.Storm拓扑包含哪些基本元素? 2.如何描述单词计数拓扑数据流? 3.典型的Bolt执行哪些功能? 4.什么是Storm流分组? 本章,主要介绍使用storm开发分布式流处理应用的基本概念。我们将构建一个统计持续流动的句子中单词个数的简单应用。通过本章的学习,你将了解到设计一个复杂流计算系统所学需要的多种结构,技术和模式。 我们将首先转载 2015-11-18 11:39:13 · 922 阅读 · 0 评论 -
Storm集群搭建
Storm是什么? Storm是Twitter开源的一个分布式的实时计算系统 使用场景: 数据的实时分析,持续计算,分布式RPC等等. Storm特点: (Storm类似手扶电梯,不出故障就会一直运行. hadoop类似升降电梯,到达一定程度会停止) 分布式 可扩展 高可靠性 编程模型简单 高效实时转载 2015-11-18 11:28:27 · 388 阅读 · 0 评论 -
Storm应用系列之——Spout、Bolt API
1、Component Storm中,Spout和Bolt都是其Component。所以,Storm定义了一个名叫IComponent的总接口 全家普如下: 绿色部分是我们最常用、比较简单的部分。红色部分是与事务相关的,在以后的文章会具体讲解。 BaseComponent 是Storm提供的“偷懒”的类。为什么这么说呢,它及其子类,都或多或少实现转载 2015-11-18 19:31:13 · 900 阅读 · 0 评论 -
Storm常见模式2——TOP N介绍
导读问题: 1.TOP N计算的应用场景有哪些? 2.TOP N的实现方法和原理是什么? Storm的另一种常见模式是对流式数据进行所谓“streaming top N”的计算,它的特点是持续的在内存中按照某个统计指标(如出现次数)计算TOP N,然后每隔一定时间间隔输出实时计算后的TOP N结果。 流式数据的TOP N计算的应用场景很多,例如计算twitter上最近一段时间内的热转载 2015-11-18 19:49:35 · 690 阅读 · 0 评论 -
Storm应用系列之——Topology部署
本系列源码地址: https://github.com/EdisonXu/storm-samples 1、Topology有两种大类提交部署方式: 提交到本地模式,一般用于调试。该模式下由于是起在同一个JVM进程下,所以不要让其负载太高。 提交到集群模式。 1)、提交到本地模式 这个非常的简单。 a. 编写代码 public class L转载 2015-11-18 19:35:57 · 748 阅读 · 0 评论 -
Storm常见模式1——BasicBolt
1.Storm中与各个进程与hadoop进程对应关系是怎么样的? 2.Storm中与hadoop对应的mapreduce是什么? Storm中的很多Bolt都有一个最常见的处理步骤: 读入一个tuple; 根据这个输入tuple,提取后发射0个,1个或多个tuple; 最后,通过ack操作确认这个tuple被成功处理。 按照上述处理步骤,依次处理发向这个Bolt的各个tup转载 2015-11-18 19:42:48 · 497 阅读 · 0 评论 -
Storm常见模式5——TimeCacheMap
Storm中使用一种叫做TimeCacheMap的数据结构,用于在内存中保存近期活跃的对象,它的实现非常地高效,而且可以自动删除过期不再活跃的对象。 TimeCacheMap使用多个桶buckets来缩小锁的粒度,以此换取高并发读写性能。下面我们来看看TimeCacheMap内部是如何实现的。 1. 实现原理 桶链表:链表中每个元素是一个HashMap,用于保存key,value转载 2015-11-18 19:55:58 · 566 阅读 · 0 评论 -
Storm实时计算:流操作入门编程实践
Storm是一个分布式是实时计算系统,它设计了一种对流和计算的抽象,概念比较简单,实际编程开发起来相对容易。下面,简单介绍编程实践过程中需要理解的Storm中的几个概念: Topology Storm中Topology的概念类似于Hadoop中的MapReduce Job,是一个用来编排、容纳一组计算逻辑组件(Spout、Bolt)的对象(Hadoop MapReduce中一个Jo转载 2015-11-30 16:19:28 · 566 阅读 · 0 评论 -
浅谈Storm流式处理框架
Hadoop的高吞吐,海量数据处理的能力使得人们可以方便地处理海量数据。但是,Hadoop的缺点也和它的优点同样鲜明——延迟大,响应缓慢,运维复杂。 有需求也就有创造,在Hadoop基本奠定了大数据霸主地位的时候,很多的开源项目都是以弥补Hadoop的实时性为目标而被创造出来。而在这个节骨眼上Storm横空出世了。 Storm带着流式计算的标签华丽丽滴出场了,看转载 2016-03-22 17:37:58 · 876 阅读 · 0 评论 -
flume-ng+Kafka+Storm+HDFS 实时系统搭建
一直以来都想接触Storm实时计算这块的东西,最近在群里看到上海一哥们罗宝写的Flume+Kafka+Storm的实时日志流系统的搭建文档,自己也跟着整了一遍,之前罗宝的文章中有一些要注意点没提到的,以后一些写错的点,在这边我会做修正;内容应该说绝大部分引用罗宝的文章的,这里要谢谢罗宝兄弟,还有写这篇文章@晨色星空J2EE也给了我很大帮助,这里也谢谢@晨色星空J2EE 之前在弄这个的时候,跟转载 2014-09-20 23:43:01 · 719 阅读 · 0 评论 -
【Twitter Storm系列】flume-ng+Kafka+Storm+HDFS 实时系统搭建
一直以来都想接触Storm实时计算这块的东西,最近在群里看到上海一哥们罗宝写的Flume+Kafka+Storm的实时日志流系统的搭建文档,自己也跟着整了一遍,之前罗宝的文章中有一些要注意点没提到的,以后一些写错的点,在这边我会做修正;内容应该说绝大部分引用罗宝的文章的,这里要谢谢罗宝兄弟,还有写这篇文章@晨色星空J2EE也给了我很大帮助,这里也谢谢@晨色星空J2EE 之前在弄这转载 2015-11-18 15:24:24 · 305 阅读 · 0 评论 -
Storm常见模式3——流聚合
流聚合(stream join)是指将具有共同元组(tuple)字段的数据流(两个或者多个)聚合形成一个新的数据流的过程。 从定义上看,流聚合和SQL中表的聚合(table join)很像,但是二者有明显的区别:table join的输入是有限的,并且join的语义是非常明确的;而流聚合的语义是不明确的并且输入流是无限的。 数据流的聚合类型跟具体的应用有关。一些应用把两个流发出的所有的tupl转载 2015-11-18 19:51:25 · 505 阅读 · 0 评论 -
使用 Twitter Storm 处理实时的大数据
Hadoop(大数据分析领域无可争辩的王者)专注于批处理。这种模型对许多情形(比如为网页建立索引)已经足够,但还存在其他一些使用模型,它们需要来自高度动态的来源的实时信息。为了解决这个问题,就得借助 Nathan Marz 推出的 Storm(现在在 Twitter 中称为 BackType)。Storm 不处理静态数据,但它处理预计会连续的流数据。考虑到 Twitter 用户每天生成 1.4 亿转载 2013-09-30 22:46:17 · 952 阅读 · 0 评论 -
Storm入门教程 第二章 构建Topology
2.1 Storm基本概念 在运行一个Storm任务之前,需要了解一些概念: TopologiesStreamsSpoutsBoltsStream groupingsReliabilityTasksWorkersConfiguration Storm集群和Hadoop集群表面上看很类似。但是Hadoop上运行的是MapReduce jobs,而在Storm上运行的是拓扑(topolo转载 2013-10-01 09:59:30 · 868 阅读 · 0 评论 -
storm入门教程 第一章 前言
1.1 实时流计算 互联网从诞生的第一时间起,对世界的最大的改变就是让信息能够实时交互,从而大大加速了各个环节的效率。正因为大家对信息实时响应、实时交互的需求,软件行业除了个人操作系统之外,数据库(更精确的说是关系型数据库)应该是软件行业发展最快、收益最为丰厚的产品了。记得十年前,很多银行别说实时转账,连实时查询都做不到,但是数据库和高速网络改变了这个情况。 随着互联网的更进一步发展,从P转载 2013-10-01 09:59:47 · 820 阅读 · 0 评论 -
Storm入门教程 第五章 一致性事务
第五章 一致性事务 Storm是一个分布式的流处理系统,利用anchor和ack机制保证所有tuple都被成功处理。如果tuple出错,则可以被重传,但是如何保证出错的tuple只被处理一次呢?Storm提供了一套事务性组件Transaction Topology,用来解决这个问题。 Transactional Topology目前已经不再维护,由Trident来实现事务性topology转载 2013-09-30 22:46:46 · 730 阅读 · 0 评论 -
storm入门教程 第四章 消息的可靠处理
4.1 简介 storm可以确保spout发送出来的每个消息都会被完整的处理。本章将会描述storm体系是如何达到这个目标的,并将会详述开发者应该如何使用storm的这些机制来实现数据的可靠处理。 4.2 理解消息被完整处理 一个消息(tuple)从spout发送出来,可能会导致成百上千的消息基于此消息被创建。 我们来思考一下流式的“单词统计”的例子: storm任务从数据源(Kes转载 2013-10-01 09:59:21 · 708 阅读 · 0 评论 -
Storm入门教程 第三章 Storm安装部署步骤
本文以Twitter Storm官方Wiki为基础,详细描述如何快速搭建一个Storm集群,其中,项目实践中遇到的问题及经验总结,在相应章节以“注意事项”的形式给出。 3.1 Storm集群组件 Storm集群中包含两类节点:主控节点(Master Node)和工作节点(Work Node)。其分别对应的角色如下: 1. 主控节点(Master Node)上运行一个被称为Nimbus的后台程转载 2013-10-01 09:59:33 · 922 阅读 · 0 评论 -
Storm数据流模型的分析及讨论
本文首先介绍了Storm的基本概念和数据流模型,然后结合一个典型应用场景来说明Storm支持Topology之间数据流订阅的必要性,最后对比了Storm与另一个流处理系统在数据流模型上的区别之处。 Storm基本概念 Storm是一个开源的实时计算系统,它提供了一系列的基本元素用于进行计算:Topology、Stream、Spout、Bolt等等。 在Storm中,一个实时应用的计算任务被打转载 2013-10-08 22:36:55 · 840 阅读 · 0 评论 -
Storm原理与实现
from http://duanple.blog.163.com/blog/static/7097176720138258405697/?latestBlog author:phylips@bmy 2013-02 1 Storm简介 1.1 简介 本文主要是从内部实现的角度来认识下Storm(0.7.1版本),因此需要用户对Storm的基本转载 2013-10-08 22:33:27 · 1626 阅读 · 0 评论 -
开源实时流处理系统小结
网址: http://www.cnblogs.com/panfeng412/archive/2013/02/21/open-source-real-time-stream-processing-systems.html 这里对目前业界开源的一些实时流处理系统做一次小结,作为日后进行技术调研的参考资料。 S4 S4(Simple Scalable Streaming System)是Yah转载 2013-10-08 22:36:22 · 897 阅读 · 0 评论 -
storm简介
场景 伴随着信息科技日新月异的发展,信息呈现出爆发式的膨胀,人们获取信息的途径也更加多样、更加便捷,同时对于信息的时效性要求也越来越高。举个搜索场景中的例子,当一个卖家发布了一条宝贝信息时,他希望的当然是这个宝贝马上就可以被卖家搜索出来、点击、购买啦,相反,如果这个宝贝要等到第二天或者更久才可以被搜出来,估计这个大哥就要骂娘了。再举一个推荐的例子,如果用户昨天在淘宝上买了一双袜子,今天想买一转载 2015-09-10 17:27:59 · 331 阅读 · 0 评论 -
Storm入门指南第三章 拓扑结构
在本章你将会看到如何在一个Storm拓扑的不同组件间传递元组,以及如何将一个topology部署到一个运行的Storm集群上。 流分组 在设计一个topology时,一件最重要的事就是定义数据在组件之间怎样交换(流怎样被bolt消费)。流分组(Stream Grouping)指定了每个bolt消费哪些流,以及这些流如何被消费。 提示:一个节点可以发送不止一条数据流,流分组允许我们转载 2015-11-18 18:35:44 · 1097 阅读 · 0 评论 -
Apache Storm内部原理分析
本文算是个人对Storm应用和学习的一个总结,由于不太懂Clojure语言,所以无法更多地从源码分析,但是参考了官网、好多朋友的文章,以及《Storm Applied: Strategies for real-time event processing》这本书,以及结合自己使用Storm的经历,希望对于想深入一点了解Storm原理的朋友能有所帮助,有不足之处欢迎拍砖交流。 Storm集群架构转载 2016-04-08 00:27:59 · 584 阅读 · 0 评论