Spark Streaming揭秘 Day25 StreamingContext和JobScheduler启动源码详解

Spark Streaming揭秘 Day25

StreamingContext和JobScheduler启动源码详解

今天主要理一下StreamingContext的启动过程,其中最为重要的就是JobScheduler的启动。

StreamingContext启动

我们首先看下start方法的上半部分。

首先进行模式匹配,这是一个标准的条件判断,默认是INITIALIZED状态。
Snip20160612_26

这里有三个关键部分:

  • validate方法,会进行一些前置条件的判断。其中比较关键的是对DStreamGraph进行校验,包括不能为空,outputStreams.size>0等。
    Snip20160612_28

  • 启动ThreadUtils,里面都是线程本地操作,最关键的部分,就是启动JobScheduler,这个后面会展开。

  • 启动之后,应用状态就变成active级别的了。

再看下start方法的下半部分:

Snip20160612_29

  • shutdownHookRef注册安全退出时用到的回调,供应用中止时进行保护。

  • streamingSource是监控统计指标,默认提供了非常多的统计信息。

  • uiTab生成了界面元素,支持进行页面操作

JobScheduler启动

SparkStreaming中的事中的管理是通过消息响应来完成的,消息有两种,一种是Local自己给自己发消息,一种是RPC别人个自己发消息,对应就会有两种消息循环器。

在JobScheduler中有三个消息循环器,首先是消息循环器JobScheduler,处理调度方面的消息。在ReceiverTracker和JobGenerator内部会分别启动一个消息循环器。

Snip20160612_30

Snip20160612_34

而针对SparkStreaming的事后管理,比较有代表性的是rateController,在这里是基于Listenerbus来实现的。

Snip20160612_32

绘图

最后,让我们深入一下各个消息循环器,用绘图的方式来总结一下。

Snip20160611_24

欲知后事如何,且听下回分解!

DT大数据每天晚上20:00YY频道现场授课频道68917580

转载于:https://www.cnblogs.com/dt-zhw/p/5577703.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值