storm详解 学习 入门 之路

来源:互联网 发布:中国金融数据库 编辑:程序博客网 时间:2024/06/05 15:19

1.storm在一秒钟时间内能处理100万个100字节的消息。

2.storm最基本的使用场景是流式处理,不需要中间队列

3.是Twitter开源出的日志处理系统,淘宝也在用

4.storm组件

5.storm的topology类似于hadoop中mapreduce的job,只不过job是用dag图来标识,而且会执行完,而storm的拓扑流不会停止,直到用户杀死该进程。

6.storm的工作流程:输入流是由一个称为spout的组件管理,spout接收到的数据流,发送到bolt进行处理,bolt处理完后要么存储到一个存储器中,要么会继续发送到下一个bolt中。


7.上图分析

1.nimbus  主控节点有一个叫做nimbus的守护进程,类似hadoop的jobtracker,负责在集群中分发代码,对节点分配任务,并监控机器是否故障

2.supervisor 每一个工作节点都运行一个叫做supervisor的守护进程,负责监听nimbus分发的作业,能够启动和停止这些工作进程。

8.实例


实际使用中需要注意的点

BOLTS

是用来处理数据的,数据是从spout流过来的数据,该bolts一般设计成一个类,类里面可以添加很多用户自己定义的函数,但是一般情况下,有几个默认的函数需要修改,分别是

prepare()函数

是在bolts启动的时候自动调用的,一些初始化动作可以放到这里面

execute()函数

是bolts真正处理数据的函数,该函数在接收到数据流后会不停的调用。

declareOutputFields()函数

该函数是定义数据输出的格式的函数

cleanup()函数

是该bolts执行结束的时候会调用的函数


0 0
原创粉丝点击