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

80次阅读
没有评论

共计 1480 个字符,预计需要花费 4 分钟才能阅读完成。

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

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 处理数据的两种模式是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注丸趣 TV 网站,丸趣 TV 小编会继续努力为大家带来更多实用的文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计1480字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)