您的位置:首页 > 运维架构 > 网站架构

第11课:Spark Streaming 源码解读之Driver中ReceiverTracker架构设计及具体实现彻底研究

2016-05-22 14:45 495 查看
 

作者:谢彪(贵州松桃)

 

1、ReceiverTracker以Driver中具体的算法在具体的Executor之上启动Receiver,而且启动Receiver的方式是把每个Receiver封装成一个Task, Task是Job当中唯一的Task,实质上说,ReceiverTracker启动Receiver之时就会封装在一个个Job,有多个Job就有多个Receiver,即有多个Receiver启动就有多个Job封装。

 

2、ReceiverTracker启动Receiver时,有一个Receiversupervisor其里面有一个ReceiversupervisorImpl实现类, Receiversupervisor实际上启动之时就启动了Receiver不断的接收数据,Receiver它不断接收数据转过来,通过BlockGenerator把自已“接收的数据”变成一个个的Block,然后在时间定时器的作用下会不断的把数据存储,此时存储有2种方式,第一种是通过BlockManager方式存储,另一种先写日志Write,通过wal方式,ReceiversupervisorImpl会把存储的数据元数metore汇报给ReceiverTracker,其实是汇报给ReceiverTracker之中ipc消息通信体(实体)。

3、ReceiverTracker用来管理Receiver中的数据执行,数据执行层面包括Receiver的启动、回收、执行过程中接收数据的管理,当然也包括“Receiver”的容错。

 

4、ReceiverTracker架构设计图:

 





作者:大数据技术研发人员:谢彪

资料来源于:DT_大数据梦工厂(Spark发行版本定制) 

DT大数据梦工厂微信公众号:DT_Spark 

新浪微博:http://www.weibo.com/ilovepains

王家林老师每晚20:00免费大数据实战

YY直播:68917580
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: