版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实时计算,流数据处理系统简介与简单分析发表于2014-06-1214:19|4350次阅读|来源CSDN博客|8条评论|作者va_key大数据实时计算流计算摘要:实时计算一般都是针对海量数据进行的,一般要求为秒级。实时计算主要分为两块数据的实时入库、数据的实时计算。今天这篇文章详细介绍了实时计算,流数据处理系统简介与简单分析。编者按:互联网领域的实时计算一般都是针对海量数据进行的,除了像非实时计算的需求(如计算结果准确)以外,实时计算最重要的一个需求是能够实时响应计算结果,一般要求为秒级。实时计算的今天,业界都没有一个准确的定义,什么叫实时计算?什么不是?今天这篇文章详细介绍了实时计算,流数据处理系统简介与简单分析。以下为作者原文:一.实时计算的概念实时计算一般都是针对海量数据进行的,一般要求为秒级。实时计算主要分为两块数据的实时入库、数据的实时计算。主要应用的场景:1)数据源是实时的不间断的,要求用户的响应时间也是实时的(比如对于大型网站的流式数据:网站的访问PV/UV、用户访问了什么内容、搜索了什么内容等,实时的数据计算和分析可以动态实时地刷新用户访问数据,展示网站实时流量的变化情况,分析每天各小时的流量和用户分布情况)2)数据量大且无法或没必要预算,但要求对用户的响应时间是实时的。比如说:昨天来自每个省份不同性别的访问量分布,昨天来自每个省份不同性别不同年龄不同职业不同名族的访问量分布。二.实时计算的相关技术主要分为三个阶段(大多是日志流):数据的产生与收集阶段、传输与分析处理阶段、存储对对外提供服务阶段
下面具体针对上面三个阶段详细介绍下1)数据实时采集:需求:功能上保证可以完整的收集到所有日志数据,为实时应用提供实时数据;响应时间上要保证实时性、低延迟在1秒左右;配置简单,部署容易;系统稳定可靠等。目前的产品:Facebook的Scribe、LinkedIn的Kafka、Cloudera的Flume,淘宝开源的TimeTunnel、Hadoop的Chukwa等,均可以满足每秒数百MB的日志数据采集和传输需求。他们都是开源项目。2)数据实时计算在流数据不断变化的运动过程中实时地进行分析,捕捉到可能对用户有用的信息,并把结果发送出去。角号山苒Hl;fLl角号山苒Hl;fLl算出费一教坞枪流入* 汕冉靖点处盛浩京实时计算目前的主流产品:Yahoo的S4:S4是一个通用的、分布式的、可扩展的、分区容错的、可插拔的流式系统,Yahoo开发S4系统,主要是为了解决:搜索广告的展现、处理用户的点击反馈。Twitter的Storm:是一个分布式的、容错的实时计算系统。可用于处理消息和更新数据库(流处理),在数据流上进行持续查询,并以流的形式返回结果到客户端(持续计算),并行化一个类似实时查询的热点查询(分布式的RPC)。Facebook的Puma:Facebook使用puma和HBase相结合来处理实时数据,另外Facebook发表一篇利用HBase/Hadoop进行实时数据处理的论文(ApacheHadoopGoesRealtimeatFacebook),通过一些实时性改造,让批处理计算平台也具备实时计算的能力。关于这三个产品的具体介绍架构分析:/system-analysis/20120111/317322.html下面是S4和Storm的详细对比irenK'.FrD]i?cijEYai™?aTwrtcrStorm事也ApacheIcciiK2,nEcipscEKiGLKcntcJ.Q“.安玷四JavaCkjjuntjs.aojuMfeST核心便去里的主卬心里葡好福培初百甲❷书店北心山二,但珏美躁唱总可鼎即画FE-旨无是基于朗二观1千r式的岫开鼬加mnn条CK.A^^J,臼尸片目五乂Ufflfu口唉j用口才耳目定咒W乍奈卜旧也可以前黄独七悒之乱摩则HEi史里盘元内QKliSfligbkhlCFlCitij阻!cMjntjtinftlaggrrgatr#寓见tf塔unlti出总内原任免,揖migrCicIMt虚白由ad■三右交空聪牌Gent却mp«iTPk-前三方H,』(得,端日哀义日。CdtgF生Str蜕e,金皆七餐地出*P1整立比.也氏T5团AJ*枯..曲1瘠单或电『加■HAft王首亢加1更.1J且行选僮社理转■处i三,运总工去事立强此时事作喔史的司.产正工司挂$砧卬tvenlffpe+KeyedStVtbuie+v-Hiua^Sif*SH=au«itPjg■门怛叫旷制口丽花任丹EIthmiGmupngs:EihjHle,*lEkis-.AJ.dohal.rione^&red.非常更潮的越由万史7百翱啊"三时3丫日导出宫至行g翎uw血□幽耳内三”心1溥工者让[(>“r□班衽噌讯峥计良刘,奥381解毛走后51“口。耳而鹏不黜二i亍.1良尔安:F苗点的目,不可济alflfBwarkeHtltBjIgWE.Mimi!i蛆ZB:若worktri口tnsld作5庆在螭**&工弼9»邙背而立忸蝴不螭交持代哪楸族箕赧曲*翦应日假色蛾则郅:4XML^S氏城喧球青工惜KttmFMonsJ.Hir1I1LIM:^7glLliub.Km^Mkaninli•川也unn/wfluF阮印间叫『「叩m”口口口!必加明]口邛即"慢闭文Mil)其他的产品:早期的:IBM的StreamBase、Borealis、Hstreaming、Esper4.淘宝的实时计算、流式处理1)银河流数据处理平台:通用的流数据实时计算系统,以实时数据产出的低延迟、高吞吐和复用性为初衷和目标,采用actor模型构建分布式流数据计算框架(底层基于akka),功能易扩展、部分容错、数据和状态可监控。银河具有处理实时流数据(^TimeTunnel收集的实时数据)和静态数据(如本地文件、HDFS文件)的能力,能够提供灵活的实时数据输出,并提供自定义的数据输出接口以便扩展实时计算能力。银河目前主要是为魔方提供实时的交易、浏览和搜索日志等数据的实时计算和分析。2)基于Storm的流式处理,统计计算、持续计算、实时消息处理。在淘宝,Storm被广泛用来进行实时日志处理,出现在实时统计、实时风控、实时推荐等场景中。一般来说,我们从类kafka的metaQ或者基于HBase的timetunnel中读取实时日志消息,经过一系列处理,最终将处理结果写入到一个分布式存储中,提供给应用程序访问。我们每天的实时消息量从几百万到几十亿不等,数据总量达到TB级。对于我们来说,Storm往往会配合分布式存储服务一起使用。在我们正在进行的个性化搜索实时分析项目中,就使用了timetunnel+HBase+Storm+UPS的架构,每天处理几十亿的用户日志信息,从用户行为发生到完成分析延迟在秒级。3)利用Habase实现的Online应用4)实时查询服务半内存:使用Redis、Memcache、MongoDB、BerkeleyDB等内存数据库提供数据实时查询服务,由这些系统进行持久化操作。全磁盘:使用HBase等以分布式文件系统(HDFS)为基础的NoSQL数据库,对于key-value引擎,关键是设计好key的分布。全内存:直接提供数据读取服务,定期dump到磁盘或数据库进行持久化。关于实时计算流数据分析应用举例:对于电子商务网站上的店铺:1)实时展示一个店铺的到访顾客流水信息,包括访问时间、访客姓名、访客地理位置、访客IP、访客正在访问的页面等信息;2)显示某个到访顾客的所有历史来访记录,同时实时跟踪显示某个访客在一个店铺正在访问的页面等信息;3)支持根据访客地理位置、访问页面、访问时间等多种维度下的实时查询与分析。网站买封蛙年吴冢实打话司效桌监控中心名衣点1k奥时际雪Tcplikas/trends异常监控中心日益金密焚时1E胃史书美对比丘也依碗时产福工即拒等网站买封蛙年吴冢实打话司效桌监控中心名衣点1k奥时际雪Tcplikas/trends异常监控中心日益金密焚时1E胃史书美对比丘也依碗时产福工即拒等第泉逋头叮捱营需H产而回福IW」Hrf泳后鲤¥鳗I立甲履厘-n广告;efr唐若工时H四而;I曾"用腹屋fjT5£1佗行 [Q4工皿壬盯伯汴空曲工时度吞工时■忌L弼芯七刑昉问可您r奠阳员施如峦工的将嗣wlM时U府项在卜面对Storm详细介绍下:
Mysq1整体架构图L口e工甘LustreSocket耻薪中拧工Mysq1整体架构图L口e工甘LustreSocket耻薪中拧工HOFSifiatloop?实时处理系统整个数据处理流程包括四部分:第一部分是数据接入该部分从前端业务系统获取数据。第二部分是最重要的Storm实时处理部分,数据从接入层接入,经过实时处理后传入数据落地层;第三部分为数据落地层,该部分指定了数据的落地方式;第四部分元数据管理器。数据接入层该部分有多种数据收集方式,包括使用消息队列(MetaQ),直接通过网络Socket传输数据,前端业务系统专有数据采集API,对Log问价定时监控。(注:有时候我们的数据源是已经保存下来的10g文件,那Spout就必须监控Log文件的变化,及时将变化部分的数据提取写入Storm中,这很难做到完全实时性。)Storm实时处理层首先我们通过一个Storm和Hadoop的对比来了解Storm中的基本概念。HadcopStorm系统角色JobTra<lcerNimbusTaskTrackerSupervisorcriiidWorker应用名称JobTopology组件接口Mapper/ReducerSpout/Bolt(Storm关注的是数据多次处理一次写入,而Hadoop关注的是数据一次写入,多次处理使用(查询)。Storm系统运行起来后是持续不断的,而Hadoop往往只是在业务需要时调用数据。两者关注及应用的方向不一样。)Nimbus:负责资源分配和任务调度。Supervisor:负责接受nimbus分配的任务,启动和停止属于自己管理的worker进程。Worker:运行具体处理组件逻辑的进程。Task:worker中每一个spout/bolt的线程称为一个task.在Storm0.8之后,task不再与物理线程对应,同一个spout/bolt的task可能会共享一个物理线程,该线程称为executor。
Nnrtbgwo-rkerzooksepersupervisorworke-r————5UPNnrtbgwo-rkerzooksepersupervisorworke-r————5UPervi筹QTnup书rViSBf具体业务需求:条件过滤、中间值计算、求topN、推荐系统、分布式RPC、热度统计数据落地层:MetaQ如图架构所示,Storm与MetaQ是有一条虚线相连的,部分数据在经过实时处理之后需要写入MetaQ之中,因为后端业务系统需要从MetaQ中获取数据。这严格来说不算是数据落地,因为数据没有实实在在写入磁盘中持久化。Mysql数据量不是非常大的情况下可以使用Mysql作为数据落地的存储对象。Mysql对数据后续处理也是比较方便的,且网络上对Mysql的操作也是比较多的,在开发上代价比较小,适合中小量数据存储。HDFSHDFS及基于Hadoop的分布式文件系统。许多日志分析系统都是基于HDFS搭建出来的,所以开发Storm与HDFS的数据落地接口将很有必要。例如将大批量数据实时处理之后存入Hive中,提
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 超市加工区安全制度
- 请提供一份来料检验奖罚制度
- 计算机教室管理人员岗位职责制度
- 行政事业单位职责分离制度
- 【疾控科普】尼帕病毒综合防治知识
- 住院病历质量评分标准
- 用电安全与维护课件
- 养老机构生活护理制度
- Unit 2 Go for it 知识清单 新教材外研版七年级英语下册
- 2026青海海南州贵南县自然资源和林业草原局招聘临聘人员1人备考考试题库附答案解析
- 市安全生产例会制度
- 生产安全管理三项制度
- 湖南省长沙市雨花区2025-2026学年上学期九年级物理检测综合练习试卷(含答案)
- 打火机工厂制度规范
- 肺含铁血黄素沉着症诊疗指南(2025年版)
- 湖口县2026年第一批单位公开选调事业编制工作人员【32人】参考题库附答案
- 统计分析培训课件
- 2025至2030中国乳铁蛋白行业调研及市场前景预测评估报告
- 2026年人教版七年级英语上册期末真题试卷含答案
- 高速公路bt合同范本
- 2026年《必背60题》酒店前厅接待经理高频面试题包含详细解答
评论
0/150
提交评论