
storm
文章平均质量分 55
杨步涛的博客
老杨,目前居住上海 微信:yangbt_6225080 qq:306591368 擅长云计算、分布式系统设计、docker容器化技术、海量数据的存储、搜索、数据挖掘。
展开
-
storm安装注意事项记录
笔者在安装storm的过程中,出现了一些错误1、安装zeroMQ时 ./configure的时候出现 cannot link with -luuid, install uuid-dev系统缺少相应的依赖包,可以用这个来安装,里面包括linux的一些util包,可以在这个中下载 2、storm执行文件时用python写的,启动./storm nimbus的时候,执行到co原创 2013-01-05 21:50:55 · 1699 阅读 · 0 评论 -
Spark streaming&storm流计算的相关对比
spark streaming和Storm作为当今流行的实时流计算框架,已经在实时计算方案应用的非常广泛了,其中spark streaming是基于spark的一个扩展,比storm的出现要晚一些。本章节从以下几个角度对两者进行了阐述,可以作为选型方面的一个参考。A、 数据处理方式 Spark streaming是构建在spark上的实时流计算框架,利用时间批量窗口生成spark的计算输入源RDD原创 2015-03-22 16:35:50 · 8204 阅读 · 0 评论 -
滑动窗口在storm中的实现
滑动窗口监控和统计应用的场景比较广泛,比如每隔一段时间(10s)统计最近30s的请求量或者异常次数,根据请求或者异常次数采取相应措施;这里说一下滑动窗口在storm中实现的原理。参见下图:窗口大小为30s,每10s就统计一次,那么窗口一共有3个slot,可以对窗口建立长度为3的数组;在storm的blot中在10s内通过execute(tuple)功能不停的把接收的tuple进行count个数(假原创 2014-01-04 22:07:56 · 16589 阅读 · 3 评论 -
流式计算在容错方面的考虑
stream replayLineage trackingState Checkpointing原创 2014-01-04 06:27:17 · 3551 阅读 · 0 评论 -
Storm在批处理和事务方面的机制分析
1、storm事务性topology的提出对于容错机制,Storm通过一个系统级别的组件acker,结合xor校验机制判断一个msg是否发送成功,进而spout可以重发该msg,保证一个msg在出错的情况下至少被重发一次。但是在一些事务性要求比较高的场景中,需要保障一次只有一次的语义,比如需要精确统计tuple的数量等等。Storm 0.7.0引入了Transactional Topology,原创 2014-01-04 17:06:41 · 14490 阅读 · 1 评论 -
Storm Topology的生命周期过程分析
这里从提交一个topology和kill一个topology的过程来对topology的生命周期进行分析1、提交topology,通过StormSubmitter.submitTopology提交一个topology之后,客户端、Nimbus、Supervisor的行为如下,Client:Client通过Nimbus的Thrift接口上传jar到Nimbus的Inbox目录中,原创 2013-04-27 15:30:47 · 4731 阅读 · 1 评论 -
Storm0.8版本 Tuple的发送和接收实现机制分析
最近review了一下Storm的源码,0.8版本和之间版本的变化比较大0.8版本之前的Task,worker中每一个spout/bolt的线程称为一个task。在storm0.8之后,task不再与物理线程对应,同一个spout/bolt的task可能会共享一个物理线程,该线程称为executor。目前最新的0.8.0版本里面,基本的对应关系是这样的:worker -> 进程,一个w原创 2013-04-27 13:37:22 · 2389 阅读 · 1 评论 -
高性能的通讯库-zeroMQ的几个高性能特征
这两天研究了一下zeroMQ,号称史上最好的通讯库,比rabbitMQ快很多,基于c语言开发的,实时流处理sorm的task之间的通信就是用的zeroMQ。zeroMQ在使用模式上支持多种,有req-reply,publish-subscribe,pipe。 下图是zeroMQ的架构图简单说明一下,从上到下依次是网络、zeroMQ、用户的应用,相当于在应用层和网络层加了一个原创 2013-01-15 12:42:16 · 41942 阅读 · 0 评论 -
xor算法在storm可靠性中的应用
1、先看一下数学中的异或 异或xor是一个数学运算符。它应用于逻辑运算。异或符号为“^”。异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0异或0=0,1异或0=1,0异或1=1,1异或1=0(同为0,异为1),既然相同的对象XOR操作,结果是0,那么有这样一个公式,A xor B…xor B xor A = 0,其中原创 2013-01-19 15:00:17 · 5620 阅读 · 3 评论 -
实时计算storm流程架构总结
hadoop一般用在离线的分析计算中,而storm区别于hadoop,用在实时的流式计算中,被广泛用来进行实时日志处理、实时统计、实时风控等场景,当然也可以用在对数据进行实时初步的加工,存储到分布式数据库中如HBase,便于后续的查询。 面对的大批量的数据的实时计算,storm实现了一个可扩展的、低延迟、可靠性和容错的分布式计算平台。 1、对象介绍原创 2013-01-13 13:22:28 · 14465 阅读 · 2 评论 -
给研发培训资料两篇(架构设计&大数据)
互联网架构设计理念漫谈大数据平台及在推荐广告的应用原创 2015-09-04 15:02:56 · 6210 阅读 · 1 评论