作者:谢彪(贵州松桃)
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