zoukankan      html  css  js  c++  java
  • Spark Standalone运行过程

    以下内容参考http://www.cnblogs.com/luogankun/p/3912956.html

    一、集群启动过程--启动Master

    二、集群启动过程--启动Worker
    Worker运行时,需要注册到指定的master url

    Worker启动之后主要做了两件事情:
      1)将自己注册到Master(RegisterWorker);
      2)定期发送心跳信息给Master;

    Worker向Master发送注册信息:
    Master侧收到RegisterWorker通知:
    Worker在收到Master发来的注册成功信息后,定期向Master发送心跳信息
    Master在接收到Worker发送来的心跳信息后更新最后一次心跳时间
    Master定期移除超时未发送心跳信息给Master的Worker节点

    三、Application提交过程
    A、提交Application
    spark-shell属于application,在启动SparkContext的createTaskScheduler创建SparkDeploySchedulerBackend的过程中创建
    会向Master发送RegisterApplication请求
    B、 Master处理RegisterApplication的请求
    在Master侧其处理的分支是RegisterApplication;Master在收到RegisterApplication请求之后,Master进行调度:
    如果有worker已经注册上来,发送LaunchExecutor指令给相应worker
    C、启动Executor
    Worker在收到LaunchExecutor指令之后,会启动Executor进程
    D、注册Executor
    启动的Executor进程会根据启动时的入参,将自己注册到Driver中的SchedulerBackend
    E、运行Task
    SchedulerBackend收到Executor的注册消息之后,会将提交到的Spark Job分解为多个具体的Task,然后通过LaunchTask指令将这些Task分散到各个Executor上真正的运行。

    每当有新的application注册到master,master都要调度schedule函数将application发送到相应的worker,在对应的worker启动相应的ExecutorBackend,最终的Task就运行在ExecutorBackend中。

  • 相关阅读:
    go基础1:Hello world与变量声明
    linux 根据端口号查看占用进程的pid
    攻防世界web新手练习区WP
    github下载慢解决方法
    玩转MSFconsole
    中国蚁剑AntSword安装
    burpsuite出现Payload set 1: Invalid number settings的解决办法
    在同一台电脑上同时安装Python2和Python3
    msf转移木马进程
    网站后台爆破工具:WebCrack
  • 原文地址:https://www.cnblogs.com/liutoutou/p/4056999.html
Copyright © 2011-2022 走看看