美文网首页Flink
Actor system(Akka) in Flink

Actor system(Akka) in Flink

作者: 远o_O | 来源:发表于2018-08-18 23:15 被阅读179次

    一、概述

    Flink's distributed execution consists of two important processes, master and worker. When a Flink program is executed, various processes take part in the execution, namely Job Manager, Task Manager, and Job Client.

    image.png

    Flink程序需要提交给Job Client。然后,Job Client将作业提交给Job Manager。Job Manager负责协调资源分配和作业执行。它首先要做的是分配所需的资源。资源分配完成后,任务将提交给相应的Task Manager。当接收到任务时, Task Manager启动一个线程以开始执行。执行到位时,Task Manager会继续向Job Manager报告状态更改。可以有各种状态,例如开始执行,正在进行或已完成。作业执行完成后,结果将发送回客户端。

    二、Job Manager

    • The master processes, also known as Job Managers, coordinate and manage the execution of the program. Their main responsibilities include scheduling tasks, managing checkpoints, failure recovery, and so on.
    • There can be many Masters running in parallel and sharing these responsibilities. This helps in achieving high availability. One of the masters needs to be the leader. If the leader node goes down, the master node (standby) will be elected as leader.
    • The Job Manager consists of the following important components:
      • 1、Actor system
      • 2、Scheduler
      • 3、Check pointing
    • Flink internally uses the Akka actor system for communication between the Job Managers and the Task Managers.

    2.1: Actor system(参与者系统)

    • An actor system is a container of actors with various roles. It provides services such as scheduling, configuration, logging, and so on. It also contains a thread pool from where all actors are initiated. All actors reside in a hierarchy. Each newly created actor would be assigned to a parent. Actors talk to each other using a messaging system. Each actor has its own mailbox from where it reads all the messages. If the actors are local, the messages are shared through shared memory but if the actors are remote then messages are passed thought RPC calls.

    Actor system是具有各种角色的actor的容器。它提供诸如调度,配置,日志记录等服务。它还包含一个启动所有actor的线程池。所有actors都位于层次结构中。每个新创建的actor都将分配给父级。actor使用消息传递系统相互交谈。每个actor都有自己的邮箱,从中读取所有邮件。如果actor是本地的,则消息通过共享内存共享,但如果actor是远程的,则通过RPC调用传递消息。

    • Each parent is responsible for the supervision of its children. If any error happens with the children, the parent gets notified. If an actor can solve its own problem then it can restart its children. If it cannot solve the problem then it can escalate the issue to its own parent:

    每位家长负责监督其子女。如果children发生任何错误,父母会收到通知。如果actor可以解决自己的问题,那么它可以重新启动它的子节点。如果它无法解决问题,那么它可以将问题升级到自己的父级:


    Actor system in Flink
    • In Flink, an actor is a container having state and behavior. An actor's thread sequentially keeps on processing the messages it will receive in its mailbox. The state and the behavior are determined by the message it has received.

    在Flink中,actor是具有状态和行为的容器。 actor的线程依次持续处理它将在其邮箱中接收的消息。其状态和行为由它收到的消息决定。

    相关文章

      网友评论

        本文标题:Actor system(Akka) in Flink

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