Spark streaming架构中的Driver和Executor

Driver

  • 在Driver中,有Stream Context作为Spark Streaming的入口,Spark Streaming的最终处理实际还是交给Spark Context
  • DStream Graph处理DStream的依赖关系。
  • Job调度器(Scheduler)负责定时生成JobJob Scheduler包含一些组件
    • Job Generator: 是真正具体负责定时生成Job
    • Receiver Tracker: 负责启动,管理各个Receiver及管理各个Receiver接收到的数据。

Worker

  • 在Worker中一般会生成若干个Executor。接收器(Receiver)运行在Executor中,接收的数据通过块生成器(Block Generator)生成块(Block)。在每个批处理时间间隔(Batch Duration)中都有从Driver提交来的Job的业务逻辑在Executor中运行。

无论是Block数据的生成还是Job的生成,都需要能无休止地周而复始地进行下去,Spark Streaming中设计了一个RecurringTimer类来起到定时器的作用。Executor上的Block Generator和Driver上的Job Generator在启动时,都会启动自己的RecurringTimer对象,以定时触发各自的周期性工作。

你可能感兴趣的:(Spark streaming架构中的Driver和Executor)