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

来源:互联网 发布:百科知识竞赛网络宣传 编辑:程序博客网 时间:2024/06/06 13:09


 

作者:谢彪(贵州松桃)

 

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




0 0
原创粉丝点击