LocalFlinkMiniCluster启动DataStrea

作者: wpb | 来源:发表于2019-04-24 19:41 被阅读3次

LocalFlinkMiniCluster 集群的actor 模型


  • 相关的主要类图如下:
image-20190415180352502.png
  • AkkaRpcActor持有一个rpcEndpoint成员,接收到消息后进行基础解析后调用rpcEndpoint的的对应方法来进行处理。

  • 其中RpcGateway及RpcEndPoint的类图


    image-20190415175424225.png
  • 支持的消息类型

    • 其中主要使用RpcInvocation基于反射调用RPCEndpoint的对应函数
    • FencedMessage 将message进行封装成payload,通过fencingToken进行校验,保证请求的合法性


      image-20190415175913490.png

LocalFlinkMiniCluster集群的角色


  • ResouceManager

    • 负责容器的分配
    • 使用FencedAkkaRpcActor实现,其rpcEndpoint为 org.apache.flink.runtime.resourcemanager.ResourceManager
  • JobMaster

    • 负责任务执行计划的调度和执行,

    • 使用FencedAkkaRpcActor实现,其rpcEndpoint为 org.apache.flink.runtime.jobmaster.JobMaster

      • JobMaster持有一个SlotPool的Actor,用来暂存TaskExecutor提供给JobMaster并被接受的slot。JobMaster的Scheduler组件从这个SlotPool中获取资源以调度job的task
  • Dispatcher

    • 主要职责是接收从Client端提交过来的job并生成一个JobMaster去负责这个job在集群资源管理器上执行。

      • 不是所有部署方式都需要用到dispatcher,比如yarn-cluster 的部署方式可能就不需要
    • 使用FencedAkkaRpcActor实现,其rpcEndpoint为 org.apache.flink.runtime.dispatcher.StandaloneDispatcher

  • TaskExecutor

    • TaskExecutor会与ResouceManager和 JobMaster两者进行通信。

      • 会向ResourceManager报告自身的可用资源;并维护本身slot的状态
      • 根据slot的分配结果,接收JobMaster的命令在对应的slot上执行指定的task。
      • TaskExecutor还需要向以上两者定时上报心跳信息。
    • 使用AkkaRpcActor实现,其rpcEndpoint为org.apache.flink.runtime.taskexecutor.TaskExecutor

启动DataStream任务的主体流程


image-20190417172051347.png image-20190417174333612.png

参考资料


相关文章

  • LocalFlinkMiniCluster启动DataStrea

    LocalFlinkMiniCluster 集群的actor 模型 相关的主要类图如下: AkkaRpcActor...

  • 【MySQL】6.0 入门学习(六)——MySQL启动与停止、官

    1.0 MySQL主要有四种启动方式:直接启动、安全启动、服务启动、多实例启动。 直接启动: ​ 服务器启动: ​...

  • App启动优化(三)启动优化方案

    系列文章 App启动优化(一)冷启动和热启动 App启动优化(二)启动时间测量 App启动优化(三)启动优化方案 ...

  • 性能优化 -- 启动优化

    启动优化 app启动分为:冷启动;热启动,温启动三种冷启动: 耗时最多流程:冷启动经过的流程点击app --> ...

  • iOS App 启动速度优化

    理解App启动 App启动从技术角度可以分为冷启动和热启动。冷启动是App启动时需要系统分配进程的启动操作;热启动...

  • 冷启动和热启动

    一,什么是冷启动和热启动 二,冷启动流程 三,怎么对冷启动进行优化 一,什么是冷启动和热启动 定义:冷启动就是启动...

  • 应用启动优化

    1.热启动 与 冷启动 冷启动 首次启动。 热启动 是已经启动,从后台再次唤醒。2.优化冷启动main()函数执...

  • 性能优化 - 启动时间

    应用的启动分为:冷启动,暖启动和热启动。其中冷启动是我们优化的重点,优化冷启动可能会同时优化暖启动和热启动。 冷启...

  • ios性能优化

    1.项目启动 冷启动和热启动 APP 启动分为冷启动(Cold Launches),当 APP 长时间没有被启动的...

  • APP冷启动优化

    一、APP启动分为冷启动和热启动 1、冷启动 - APP从0-1的启动 2、热启动 - APP在后...

网友评论

    本文标题:LocalFlinkMiniCluster启动DataStrea

    本文链接:https://www.haomeiwen.com/subject/rhengqtx.html