zoukankan      html  css  js  c++  java
  • Storm—Storm概述

    1.1 离线计算是什么?

    离线计算:批量获取数据、批量传输数据、周期性批量计算数据、数据展示

    代表技术:Sqoop批量导入数据、HDFS批量存储数据、MapReduce批量计算数据、Hive批量计算数据

    1.2 流式计算是什么

    流式计算:数据实时产生、数据实时传输、数据实时计算、实时展示

    代表技术:Flume实时获取数据、Kafka实时数据存储、Storm/JStorm实时数据计算、Redis实时结果缓存、持久化存储(mysql)。

           离线计算与实时计算最大的区别:实时收集、实时计算、实时展示

    1.3 Storm是什么?

    Storm是一个分布式计算框架,主要使用Clojure与Java语言编写,最初是由Nathan Marz带领Backtype公司团队创建,在Backtype公司被Twitter公司收购后进行开源。最初的版本是在2011年9月17日发行,版本号0.5.0。

    2013年9月,Apache基金会开始接管并孵化Storm项目。Apache Storm是在Eclipse Public License下进行开发的,它提供给大多数企业使用。经过1年多时间,2014年9月,Storm项目成为Apache的顶级项目。目前,Storm的最新版本1.1.0。

    Storm是一个免费开源的分布式实时计算系统。Storm能轻松可靠地处理无界的数据流,就像Hadoop对数据进行批处理;

    1.4 Storm与Hadoop的区别

    1)Storm用于实时计算,Hadoop用于离线计算。

    2)Storm处理的数据保存在内存中,源源不断;Hadoop处理的数据保存在文件系统中,一批一批处理。

    3)Storm的数据通过网络传输进来;Hadoop的数据保存在磁盘中。

    4)Storm与Hadoop的编程模型相似

    Storm

    hadoop

    角色

    Nimbus

    JobTracker

    Supervisor

    TaskTracker

    Worker

    Child

    应用名称

    Topology

    Job

    编程接口

    Spout/Bolt

    Mapper/Reducer

    (1)hadoop相关名称

    Job:任务名称

    JobTracker:项目经理(JobTracker对应于NameNode;JobTracker是一个master服务,软件启动之后JobTracker接收Job,负责调度Job的每一个子任务task运行于TaskTracker上,并监控它们,如果发现有失败的task就重新运行它。)

    TaskTracker:开发组长(TaskTracker对应于DataNode;TaskTracker是运行在多个节点上的slaver服务。TaskTracker主动与JobTracker通信,接收作业,并负责直接执行每一个任务。)

    Child:负责开发的人员

    Mapper/Reduce:开发人员中的两种角色,一种是服务器开发、一种是客户端开发

    (2)storm相关名称

    Topology:任务名称

    Nimbus:项目经理

    Supervisor:开组长

    Worker:开人员

    Spout/Bolt:开人员中的两种角色,一种是服务器开发、一种是客户端开发

    1.5 Storm应用场景及行业案例

    Storm用来实时计算源源不断产生的数据,如同流水线生产。

    1.5.1 运用场景

    Storm能用到很多场景中,包括:实时分析、在线机器学习、连续计算等。

    1)推荐系统:实时推荐,根据下单或加入购物车推荐相关商品

    2)金融系统:实时分析股票信息数据

    3)预警系统:根据实时采集数据,判断是否到了预警阈值。

    4)网站统计:实时销量、流量统计,如淘宝双11效果图

    1.5.2 典型案列

    1)京东-实时分析系统:实时分析用户的属性,并反馈给搜索引擎

    最初,用户属性分析是通过每天在云上定时运行的MR job来完成的。为了满足实时性的要求,希望能够实时分析用户的行为日志,将最新的用户属性反馈给搜索引擎,能够为用户展现最贴近其当前需求的结果。

    2)携程-网站性能监控:实时分析系统监控携程网的网站性能

    利用HTML5提供的performance标准获得可用的指标,并记录日志。Storm集群实时分析日志和入库。使用DRPC聚合成报表,通过历史数据对比等判断规则,触发预警事件。

    3)淘宝双十一:实时统计销售总额

    1.6 Storm特点

    1)适用场景广泛:Storm可以适用实时处理消息、更新数据库、持续计算等场景。

    2)可伸缩性高:Storm的可伸缩性可以让Storm每秒处理的消息量达到很高。扩展一个实时计算任务,你所需要做的就是加机器并且提高这个计算任务的并行度。Storm使用Zookeeper来协调机器内的各种配置使得Storm的集群可以很容易的扩展。

    3)保证无数据丢失:Storm保证所有的数据都被处理。

    4)异常健壮:Storm集群非常容易管理,轮流重启节点不影响应用。

    5)容错性好:在消息处理过程中出现异常,Storm会进行重试。

     

     

     

     

     

     

  • 相关阅读:
    2021 CCPC 桂林站 补题
    2021 ICPC 上海 流水账
    2021 ICPC 沈阳 补题
    vi中的多行注释和取消注释
    查询列表可筛选可模糊查询的写法
    mybatisplus逻辑删除deleted
    @JsonFormat
    @Component类相互引用的加载顺序
    Chrome浏览器嗅探方法
    DataAdapter.FillSchema 方法
  • 原文地址:https://www.cnblogs.com/tesla-turing/p/13698940.html
Copyright © 2011-2022 走看看