Spark内核源码(三)---向Yarn提交任务

Spark内核源码(三)–向Yarn提交任务

在这里插入图片描述
上一章节,我们聊到了这里:
在这里插入图片描述
我们点进去这个方法看一看
在这里插入图片描述
这个–Class就是前面的我们提到过的提交参数,就是–Class xxxx.WordCount,这个地方之后啊,它才会new一个Client,创建一个客户端,它到底在干嘛呢?我们点一下这个new Client
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这句话见名知意,为什么叫Yarn客户端呢?那么它有客户端,是不是应该有个服务器呢?还得是个Yarn服务器,所以在我们当前环境,我们应该将Yarn服务器创建出来
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里可以说明一件事,当前YarnClientImpl这个类名的YarnClientImpl对象是能够连接到Yarn客户端的,连接上resourcemanager,就相当于连接上了Yarn,通过这里我们发现我们已经将前面的new Client已经准备好了,那么接下来我们干嘛呢?.run,这个run方法在干嘛,我们一起来看一下
在这里插入图片描述
建立完连接,我们就要run,我们点进去
在这里插入图片描述
从字面意义上理解就是提交应用
在这里插入图片描述
所以我们后面基本不用看了,我们直接点击submitApplication
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
看到这一步我们别急,虽然看不懂什么,但是我们会发现,这里是执行启动的源代码,客户端真正的作用就是建立和rm的连接,那么我们这里的启动,不就是两个东西的通信么,这里我们暂时不管,我们知道启动就行了,后面会慢慢讲解,在start底下我们会看到有个创建应用
在这里插入图片描述
在这里插入图片描述
前面是初始化init,然后是start启动,这里是submit提交,那么我们看一下它在干嘛,点进去
在这里插入图片描述
在这里插入图片描述
它是不是在向ResourceManager来提交应用?所以也就意味着YarnClusterApplication向ResourceManager发送东西了,那它提交了什么东西呢?
在这里插入图片描述
在这里插入图片描述
而它又来自于上一行代码中,他们俩一个是容器的环境,一个是应用的环境,所以这两句话才是非常关键的,前面是启动,后面是提交,这两句话,就是提交的内容,完全可以理解成,准备提交的对象,和准备提交的内容,而yarnClient.submitApplication(appContext)就是向Yarn提交我们的应用,半天点过来,最重要的就是下面这两句
在这里插入图片描述
更多Spark内核源码,欲知详情,且听下回分解

猜你喜欢

转载自blog.csdn.net/weixin_45284133/article/details/106699463
今日推荐