Storm精华问答 | 为什么要用Storm?不用Spark?

戳蓝字“CSDN云计算”关注我们哦!


640?wx_fmt=png

Apache Storm是一个分布式实时大数据处理系统。Storm设计用于在容错和水平可扩展方法中处理大量数据。它是一个流数据框架,具有最高的摄取率今天,我们就挑一些Storm的安装配置问题来看看吧。


640?wx_fmt=gif1

  Q:Storm简介


A:1.Storm是一套分布式的、可靠的,可容错的用于处理流式数据的系统。 

2.Storm也是基于C/S架构来进行工作的,C负责将数据处理的方式的jar(Topology)发送给S,S解析C发送过来的jar(Topology),并按一定规则jar变成多个Task((Spout/Bolt)),生成相关的进程和线程运行里面的Task。 


640?wx_fmt=gif2

Q:topology工作原理


A:1.Storm集群中有两种节点,一种是控制节点(Nimbus节点),另一种是工作节点(Supervisor节点)。 
2.所有Topology任务的 提交必须在Storm客户端节点上进行(需要配置 storm.yaml文件),由Nimbus节点分配给其他Supervisor节点进行处理。 
3.Nimbus节点首先将提交的Topology进行分片(Spout/Bolt),分成一个个的Task,并将Task和Supervisor相关的信息提交到 zookeeper集群上。 
4.Supervisor会去zookeeper集群上认领自己的Task,通知自己的Worker进程进行Task的处理。 


640?wx_fmt=gif3

       Q:Storm有哪些特性?


       A: 1.适用场景广泛: storm可以实时处理消息和更新DB,对一个数据量进行持续的查询并返回客户端(持续计算),对一个耗资源的查询作实时并行化的处理(分布式方法调用,即DRPC),storm的这些基础API可以满足大量的场景。


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


    3. 保证无数据丢失: 实时系统必须保证所有的数据被成功的处理。 那些会丢失数据的系统的适用场景非常窄, 而storm保证每一条消息都会被处理, 这一点和S4相比有巨大的反差。


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


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


    6. 语言无关性: Storm的topology和消息处理组件(Bolt)可以用任何语言来定义, 这一点使得任何人都可以使用storm。

4

Q:Storm的集群结构


A:640?wx_fmt=png640?wx_fmt=png

640?wx_fmt=gif5

  Q:为什么要用Storm?为什么不用Spark?

  

  A:很多场景下,我们希望系统能够实时的处理一条数据、甚至是事务。也就是说,在处理数据、事务的过程中,到达系统,并能马上得到结果。其次,在成万上亿条数据大量涌入系统时,也要求“实时”的到事务处理的结果。此时,单个节点已经是杯水车薪了,而Storm的关键一项是因为它支持分布式并行计算!如果说,你遇到了以上相似的场景,那Storm可以当仁不让的扛起实时处理的大旗!

这个问题其实很难界定,因为Spark在RDD粒度上,可以满足实时计算的要求,当然,使用RDD还有其他优势;但总的来说,Storm 的实时性更强。其次,Storm的框架完全按照流式处理的思想构建,和项目场景结合性更强一些。(Spark 用的不是很多,欢迎吐槽。)

在看Storm之前,很多人都对Hadoop有一定了解,为了能更快入戏,我们以Hadoop为参照,以下是它使用yarn之前的架构,对照Storm Server框架理解。640?wx_fmt=png

小伙伴们冲鸭,后台留言区等着你!

关于Storm,今天你学到了什么?还有哪些不懂的?除此还对哪些话题感兴趣?快来留言区打卡啦!留言方式:打开第XX天,答:……

同时欢迎大家搜集更多问题,投稿给我们!风里雨里留言区里等你~


640?wx_fmt=png


福利

扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!


640?wx_fmt=jpeg


推荐阅读:


640?wx_fmt=png 真香,朕在看了!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值