8.2.2 Spark Streaming架构

Spark Streaming的整体架构如图8-11所示。

组件介绍如下。

·Network Input Tracker:通过接收器接收流数据,并将流数据映射为输入DStream。

8.2.2 Spark Streaming架构 - 图1

图8-11 Spark Streaming架构图

·Job Scheduler:周期性地查询DStream图,通过输入的流数据生成Spark Job,将Spark Job提交给Job Manager执行。

·JobManager:维护一个Job队列,将队列中的Job提交到Spark执行。

通过图8-11可以看到Job Scheduler负责作业调度,Taskscheduler负责分发具体的任务,Block tracker进行块管理。在从节点,如果是通过网络输入的流数据,则将数据存储两份进行容错。Input receiver源源不断地接收输入流,Task execution负责执行主节点分发的任务,Block manager负责块管理。Spark Streaming的整体架构和Spark很相近,很多思想是可以迁移理解的。