storm处理数据的两种模式是什么

这篇文章主要介绍“storm处理数据的两种模式是什么”,在日常操作中,相信很多人在storm处理数据的两种模式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”storm处理数据的两种模式是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联建站专业为企业提供班戈网站建设、班戈做网站、班戈网站设计、班戈网站制作等企业网站建设、网页设计与制作、班戈企业网站模板建站服务,十多年班戈做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

1、Storm简介

storm是一个分布式、容错的实时计算系统,起先被托管在GitHub上,遵循Eclipse  Public  License 1.0  。Storm是由BackType开发的实时处理系统,由Twitter开源

2013年,Storm进入Apache社区进行孵化;

2014年9月,晋级为Apache顶级项目

官网  http://storm.apache.org/

hadoop和storm的区别:hadoop反复启动停止,数据反复落地耗费时间,storm采用流式处理,数据不落地

数据来源:hadoop的数据是hdfs上的TB级别数据,storm是实时新增的数据;

处理过程:hadoop是分为split 、map、shuffler  、reduce等阶段、storm是由用户定义流程,流程中可以包含多个步骤,每个步骤可以是数据源(spout)或处理逻辑(bolt)

是否结束:hadoop最后是要结束的;storm是没有结束的,数据处理完是要等待新数据的进入的。

处理速度:hadoop处理堆积的数据,速度慢,storm只是处理新增的数据,时效性较高;

2、Storm架构:

Nimbus:管事,但是可以不存在,如果Nimbus挂掉,之前提价的job可以继续进行处理,后续不能继续提交,因此Nimbus的主要作用是提交任务和通过zk与Supervisor进行沟通;相当于Leader

Supervisor:

Worker

编程模型

DAG:有向无环图

Spout:源头

Bolt:bolt处理完数据会使用消息框架将信息返回给上一个Bolt或Spout;

数据传输:storm底层传输数据使用zmq或者netty

    zmq

        zmq是开源的消息传递框架;(0.9版本以上已经不用了)

   Netty

        netty是NIO的网络框架,效率比较高。之所以有netty事storm在apache之后,zmq遵循linux的协议,netty遵循的协议比较宽松。

高可用:

    异常处理,就是异常崩溃,也不影响,例如supervisor挂了,nimbus会重新调度

    消息可靠性机制保证,ack机制

可维护:

    storm UI

3、Storm处理数据的两种模式:

实时请求应答模式(同步)

Client  ----》DRPC  Server  ----》Spout---》Bolt-----》Return---》(返回给前面的drpc  server  然后再返回给Client)

对应DRPC  Server 有不同的Spout  --》DRPC  Spout  ,Topology(拓扑结构)、ReturnResult

流式处理(异步)

Client---》MQ--->Sport------>Bolt1----->bolt2--------->Storage(redis、hbase、MySQL、mq等)

        <----

Storm的wordCount

1、随机生成数据

2、切割单词

3、hash不同单词到不同的任务上去

到此,关于“storm处理数据的两种模式是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


当前名称:storm处理数据的两种模式是什么
网页链接:http://myzitong.com/article/geipoo.html