![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spark
文章平均质量分 79
long_World
这个作者很懒,什么都没留下…
展开
-
sparkYarn集群提交流程分析(二)
sparkYarn集群提交流程分析(二)书接上文,我们了解到了在不涉及集群的情况下,我们需要在本地启动一个SparkSubmit进程并且,在进程中执行了一个Client伴生对象的main方法,这次我们从client是什么说起client def main(argStrings: Array[String]) { if (!sys.props.contains("SPARK_SUBMIT")) { logWarning("WARNING: This原创 2021-03-18 17:02:44 · 197 阅读 · 0 评论 -
sparkYarn集群提交流程分析(三)
sparkYarn集群提交流程分析(三)1 .上回说到了骤② 在某一个节点上创建了一个ApplicationMaster进程管理整个spark项目2 .这回说说这ApplicationaMaster中到底干了什么复习一下spark集群提交后有两种运行模式Client模式: 这种运行模式会将Driver启动在提交的节点,你在哪提交在哪给你创建Cluster模式: 这种运行模式会将Driver启动在集群的某一节点,具体启动在哪,由ApplicationMaster来决定,AM在哪Drive原创 2021-03-18 17:00:05 · 529 阅读 · 0 评论 -
sparkYarn集群提交流程分析(四)
sparkYarn集群提交流程分析(四)书接上文,上次进行到了在不同的节点开启了一个CoarseGrainedExecutorBackend进程,这次就从这个进程的启动开始说起(也就是main方法的执行)org.apache.spark.executor.CoarseGrainedExecutorBackend main() def main(args: Array[String]) { var driverUrl: String = null var executor原创 2021-03-18 16:57:54 · 152 阅读 · 2 评论 -
spark通信框架
spark通信框架一 前言spark在2.0之前使用的是akka的通信框架(实际上在1.6.0就已经全部替换为Netty), 事实上akka这个基于actor的通信框架很是优秀, 但是优秀的人也就不能结局的问题, akka无法解决大块数据的传输问题, 此时就需要一个能解决这个问题并且还保留着akka的优点的人站出来, 于是Netty就占了出来, 这个Netty不仅借鉴了akka的设计, 一种碾压式的趋势占领了spark的通信框架, 包括Java也在用Netty这个通信框架, 可见其优秀至于具体原因请原创 2021-03-18 16:55:42 · 216 阅读 · 0 评论 -
Spark程序Yarn集群提交Executor反向注册在分析
Spark程序Yarn集群提交Executor反向注册在分析一 前言有了spark的通信框架的基础再去看CoarseGrainedExecutorBackend类,才会明白提交任务的最后一步反向注册二 反向注册先看上次源码 private def run( driverUrl: String, executorId: String, hostname: String, cores: Int, appId: String,原创 2021-03-18 16:51:14 · 396 阅读 · 0 评论 -
Spark程序的Yarn集群提交流程源码分析(一)
sparkYarn集群提交流程分析(一)spark提交流程图简介(之后的源码分析会围绕流程图进行)源码分析注意: 本文章中的所有代码都不完整 , 这里只取了重要代码分析1 .首先集群提交就需要将用户编写的应用程序打成jar包上传到集群中2 .其次在集群中执行的代码如下: bin/spark-submit \ --class com.project.spark.WordCount \ --master yarn \ WordCount.jar \ /input \ /out原创 2021-03-11 19:49:32 · 148 阅读 · 0 评论