分享

Storm实时数据分析的常用架构(组合):队列服务器+storm集群实时处理+mysql存储

问题导读:
1.Storm实时组合,如何获取数据?
2.消息队列服务器可以采用什么技术?
3.消息在Storm中的传输由Storm框架的collector收集发射完成?
4.处理结果可以放在什么数据库中?





Storm.jpg

利用Storm进行实时数据分析的常用组合方式:
队列服务器+storm集群实时处理+mysql存储

对应上图中的五个环节,分别是:
步骤①:消息队列,消息队列服务器分为生产者和消费者。由生产者到数据库、队列服务器、文件或其他存储介质里面获得数据,生产者的工作需要单独配置或编码实现。队列服务器提供消费接口,通过此接口可以消费队列服务器中的数据。常见的用于实时分析的消息队列服务器有Kafka/meatQ,订单中心使用的队列服务器是Amq。相对来讲Amq更加稳定,Kafka/meatq更适合做吞吐量比较大的场景。

步骤②:在Storm框架编程模型中,数据源的接入模块式是Spout。kafka/meatQ针对Storm的Spout模块做了开源和成熟的插件。直接在Storm中集成这些开源的插件,即可实现数据从队列服务器到Storm的接入。

步骤③:消息在Storm中的传输由Storm框架的collector收集发射完成,用户可以不用关注怎么传输。消息的处理有Storm编程模型的Bolt模块去实现,Bolt负责具体的业务规则的判定和实现,一个业务中一般会有多个Bolt。

步骤④:Bolt计算的临时数据,一般会存放在redis或zookpeer中,在Bolt的execute方法中操作它们。

步骤⑤:消息的落地,会存放在mysql等关系型数据中。



已有(1)人评论

跳转到指定楼层
benwen 发表于 2015-9-17 20:16:13
您好,请问,我用storm处理时,起了5个节点的supervisor,他在HDFS上面确写入5份,感觉像是没有实现分布式似的,麻烦问下是不是那个地方需要做设置呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条