Spark---Master启动及Submit任务提交

这篇具有很好参考价值的文章主要介绍了Spark---Master启动及Submit任务提交。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Spark Master启动

1、Spark资源任务调度对象关系图

怎么启动master,Spark,spark,大数据,分布式

2、集群启动过程

Spark集群启动之后,首先调用$SPARK_HOME/sbin/start-all.sh,start-all.sh脚本中调用了“start-master.sh”脚本和“start-slaves.sh”脚本,在start-master.sh脚本中可以看到启动Master角色的主类:“org.apache.spark.deploy.master.Master”。在对应的start-slaves.sh脚本中又调用了start-slave.sh脚本,在star-slave.sh脚本中可以看到启动Worker角色的主类:“org.apache.spark.deploy.worker.Worker”。

  • Master&Worker启动

Spark框架的设计思想是每台节点上都会启动对应的Netty通信环境,叫做RpcEnv通信环境。每个角色启动之前首先向NettyRpcEnv环境中注册对应的Endpoint,然后启动。角色包括:Master,Worker,Driver,Executor等。下图是启动start-all集群后,Master角色启动过程,Master角色的启动会调用“org.apache.spark.deploy.master.Master”主类,执行流程如下:

怎么启动master,Spark,spark,大数据,分布式

二、Spark Submit任务提交

  • SparkSubmit任务提交

Spark submit提交任务时,调用$SPARK_HOME/bin/spark-submit spark-submit脚本中调用了“org.apache.spark.deploy.SparkSubmit”类。执行此类时,首先运行main方法进行参数设置,然后向Master申请启动Driver。代码流程如下图示:

怎么启动master,Spark,spark,大数据,分布式

  • 启动DriverWrapper类

当提交任务之后,客户端向Master申请启动Driver,这里首先会启动一个DriverWrapper类来对用户提交的application进行包装运行,DriverWrapper类的启动过程如下:

怎么启动master,Spark,spark,大数据,分布式

  • 注册Driver Endpoint,向Master注册Application

当执行用户的代码时,在new SparkContext时,会注册真正的Driver 角色,这个角色名称为“CoarseGrainedScheduler”,Driver角色注册之后,注册“AppClient”角色,由当前这个角色向Master注册Application。代码流程如下:

怎么启动master,Spark,spark,大数据,分布式文章来源地址https://www.toymoban.com/news/detail-809484.html

到了这里,关于Spark---Master启动及Submit任务提交的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【spark-submit】【spark】

    目录 1 Submitting Applications  1 提交应用  2 Bundling Your Application’s Dependencies 2 捆绑应用程序的依赖 3 Launching Applications with spark-submit 3 使用spark-submit启动应用程序 4 Master URLs  5 Loading Configuration from a File 5 从文件加载配置 6 Advanced Dependency Management 6 高级依赖管理 8 More Information 

    2024年02月21日
    浏览(23)
  • 采用seatunnel提交Flink和Spark任务

    seatunnel 是一个非常易用,高性能、支持实时流式和离线批处理的海量数据处理产品,架构于Apache Spark 和 Apache Flink之上。 seatunnel 让Spark和Flink的使用更简单,更高效。 注:当前版本用的是2.1.3版本  如果在github下载自己编译有问题 可在此地址下载编译好的文件seatunnel-2.1.3-b

    2024年02月15日
    浏览(38)
  • SparkLaunch提交Spark任务到Yarn集群

    通过Spark-submit 提交任务 通过Yarn REST Api提交Spark任务 通过Spark Client Api 的方式提交任务 通过SparkLaunch 自带API提交任务 基于Livy的方式提交任务,可参考我的另一篇文章 Apache Livy 安装部署使用示例 上面的几种方式提交任务各自有对应的优缺点,不再进行赘述,下面要介绍的是通

    2024年02月01日
    浏览(24)
  • Spark系列之SparkSubmit提交任务到YARN

    title: Spark系列 本地模式,不启动spark集群也能运行。 实际可运行命令: 运行截图: 结果截图: 需要启动Spark的StandAlone集群来运行。 直接提交可能会报错: spark-env.sh中: spark-defaults.conf中: 如若不生效,则直接拷贝 yarn-site.xml 文件到 $SPARK_HOME 中 上述任务在启动的时候,有

    2024年02月03日
    浏览(31)
  • Spark 提交任务参数设置关于(线程,shuffle,序列化)

    是在使用 Apache Spark 时,为了设置 Java 虚拟机(JVM)的堆栈大小而使用命令行选项。 -Xss 是 Java 虚拟机的一个选项,用于设置线程的堆栈大小。在这个命令行选项中, -Xss6m 表示将线程的堆栈大小设为 6MB。这个选项的作用是为了避免在运行 Spark 任务时出现堆栈溢出的错误。

    2024年02月02日
    浏览(563)
  • spark streaming如何在kerberos认证的集群上提交任务

    集群有kerberos认证,spark批处理任务提交后正常运行,spark streaming/structed streaming 任务提交后运行不了,报 java.io.IOException: org.apache.hadoop.security.AccessControlException: Client cannot authenticate via:[TOKEN, KERBEROS] 的错误,其中streaming任务里面有用到sparkSQL 找到多种处理方式,在一一尝试之

    2024年02月20日
    浏览(24)
  • 13.108.Spark 优化、Spark优化与hive的区别、SparkSQL启动参数调优、四川任务优化实践:执行效率提升50%以上

    13.108.Spark 优化 1.1.25.Spark优化与hive的区别 1.1.26.SparkSQL启动参数调优 1.1.27.四川任务优化实践:执行效率提升50%以上 1.1.25.Spark优化与hive的区别 先理解spark与mapreduce的本质区别,算子之间(map和reduce之间多了依赖关系判断,即宽依赖和窄依赖。) 优化的思路和hive基本一致,比较

    2024年02月10日
    浏览(34)
  • gitee第一次提交代码提交不上去,老是报错。 ! [remote rejected] master -> master (hook declined)

    有没有同学就是遇到这种问题,第一次上传代码,到push这一步老是遇到 ! [remote rejected] master - master (hook declined) error: failed to push some refs to 这种情况,老是提不上去。那是因为。你的邮箱设置,把这个勾上了,取消勾选就行了。这样导致找不到你的远程地址。所以推不上去,

    2024年02月08日
    浏览(37)
  • kakfa模拟仿真篇之spark-submit在linux运行 (更贴近真实场景)

    源码在上篇 地址在这 :Kafka模拟器产生数据仿真-集成StructuredStreaming做到”毫秒“级实时响应StreamData落地到mysql-CSDN博客 这里分享一下一些新朋友不知道spark-submit 指令后  的参数怎么写 看这篇绝对包会 声明 : 此项目是基于 maven 打包的说明,不是SBT哦 先分享一下我的原指

    2024年03月25日
    浏览(27)
  • IDEA中使用Amend Commit,提交master只有一条提交记录

    1. 问题 在IDEA中使用amend commit后,直接点击push,会先执行fetch命令,将远端代码和本地代码进行marge。结果还是会生成多条提交记录,没有达到只提交一条新的commit记录到master分支的目的。 2. 解决方法 (1)在IDEA中使用amend commit将所有的提交记录合并成一条 (2)在git-bash中强

    2024年02月11日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包