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中。

  • 相关阅读:
    华为交换机配置命令总结
    Linux 系统启动项修复
    Linux菜鸟成长日记 ( Linux 下的 ftp 文件传输协议 )
    Linux 查看用户命令
    linux 查看过滤命令命令
    Linux篇---ftp服务器的搭建
    linux挂载详解
    园区IP地址规划(非常详细)
    Linux创建、删除文件和文件夹命令
    CentOs 7 安装 Xampp
  • 原文地址:https://www.cnblogs.com/liutoutou/p/4056999.html
Copyright © 2011-2022 走看看