6.3.2 Driver和Master交互原理解析

Driver和Master进行交互,Master是一个消息循环体,本章节讲解Driver消息循环体的产生过程,Drvier消息循环体生成之后,就可以与Master互相通信。

在Spark应用程序提交的时候,我们会提交一个spark-submit脚本,spark-submit脚本中直接运行了org.apache.spark.deploy.SparkSubmit这个对象。Spark-submit脚本内容如下所示。

1. #!/usr/bin/env bash

2. SPARK_HOME="$(cd "`dirname "$0"`"/..; pwd)"

3. export PYTHONHASHSEED=0

4. exec "$SPARK_HOME"/bin/spark-class org.apache.spark.deploy.SparkSubmit "$@"//运行SparkSubmit

进入到SparkSubmit中,main函数代码如下所示。

SparkSubmit.scala源码:

1. def main(args: Array[String]): Unit = {

2.     //由启动main函数传入的参数构建SparkSubmitAruments对象

3.     val appArgs = new SparkSubmitArguments(args

Driver和Master交互原理解析,Driver消息循环体的产生相关推荐

  1. 6、HIVE JDBC开发、UDF、体系结构、Thrift服务器、Driver、元数据库Metastore、数据库连接模式、单/多用户模式、远程服务模式、Hive技术原理解析、优化等(整理的笔记)

    目录: 5 HIVE开发 5.1 Hive JDBC开发 5.2 Hive UDF 6 Hive的体系结构 6.2 Thrift服务器 6.3 Driver 6.4 元数据库Metastore 6.5 ...

  2. Android Camera 通过V4L2与kernel driver的完整交互过程

    Android Camera 通过V4L2与kernel driver的完整交互过程 之前在  Android Camera 的执行流程   http://blog.chinaunix.net/uid ...

  3. RocketMQ原理解析-producer 4.发送分布式事物消息

    2019独角兽企业重金招聘Python工程师标准>>> RocketMQ原理解析-producer 4.发送分布式事物消息 博客分类: MQ 为什么消息要具备事务能力 还是比较清晰的 ...

  4. php公众号被动回复,微信公众号被动消息回复原理解析

    背景:某分厂需要实时查询工件堆放的位置,要求快速便捷,因此设计了采用微信公众号被动回复信息的方案. 技术实现:开发者服务器--基于Angular2框架的已发布网站,编程语言为Python,后台存储数据 ...

  5. 002 第一季SpringBoot2核心技术-核心功能:配置文件、Web开发(原生组件)、数据访问、单元测试、指标监控、原理解析:@Value、命令行参数、手动获取bean、自定义starter

    三.核心技术之- ->核心功能 1. 配置文件 1.1 文件类型 1.1.1 properties 同以前的properties用法 优先级高于yml的方式. 1.1.2 yaml 1) 简介 ...

  6. 私有密钥与公钥的用途与原理解析

    私有密钥与公钥的用途与原理解析 数字签名是什么? 作者: 阮一峰        http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_sig ...

  7. spark启动的worker节点是localhost_Spark大数据在线培训:Spark运行原理解析

    在大数据技术框架当中,Spark是继Hadoop之后的又一代表性框架,也是学习大数据当中必学的重点技术框架.在这些年的发展当中,Spark所占据的市场地位,也在不断拓展.今天的Spark大数据在线培训 ...

  8. TaskScheduler原理解析

    一.TaskScheduler原理解密 1.DAGScheduler在提交TaskSet给底层调度器的时候是面向接口TaskScheduler的,这符合面向对象中依赖抽象而不依赖的原则,带来底层资源调 ...

  9. 分布式一致性协议 Gossip 和 Redis 集群原理解析

    分布式一致性协议 Gossip 和 Redis 集群原理解析 Redis 是一个开源的.高性能的 Key-Value 数据库.基于 Redis 的分布式缓存已经有很多成功的商业应用,其中就包括阿里 A ...

最新文章

  1. 继承和多态 3.0 -- 菱形继承
  2. c#运行shell命令
  3. CSS3学习笔记(二)2015-12-9【从新浪云搬运】
  4. 【NLP】利用jieba对网易云音乐的评论进行词云分析
  5. 最大流最小割经典例题_C/C++知识点之最大流最小割C++实现
  6. 台式计算机计量单位,计算机的计量单位以及常见的数据类型
  7. poj2632 累死了
  8. [导入]javascript总结
  9. mysql 删除记录代码_mysql 删除记录时报错
  10. Springboot部署到Tomcat,可以不带项目名进行访问
  11. 洛谷P4831 Scarlet loves WenHuaKe
  12. YUV格式学习:NV12和YUV420P格式互换
  13. DirectShow录屏,帧率不可控制?
  14. [C++ Quiz] Intermediate level
  15. PHP5.3.1 安装包VC9/VC6区别
  16. linux怎么打包整个目录,tar打包整个目录(可排除子目录)几种方法
  17. zbbz插件使用教程_谁知道CAD里面的坐标插入软件ZBBZ怎么使用
  18. ps3 移动硬盘 安装linux,ps3内置硬盘安装方法
  19. AJAX的使用方式及教程
  20. Microsoft Excel 教程:如何在 Excel 中自动填充数据?

热门文章

  1. 利用Python进行数据分析(附详细案例)
  2. 导出的excel表格是乱码的解决方法
  3. Mysql rbo和cbo_oracle的优化——RBO和CBO简介以及optimizer_mode参数说明
  4. ViewPage解析(二)
  5. 【海康威视研究院】杭州3面试记录
  6. 安卓 LayoutInflater详解
  7. LayoutInflater深度解析,学习方式分享
  8. html5 签名,canvas在线签名插件Tablet
  9. 关于西瓜视频加密算法的总结
  10. pycharm插件下载慢(pycharm插件下载慢原因)