温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
好了,同学们,我们接下来来讲第四章Spark运行架构,那Spark框架的核心呢,是一个计算引擎,总体来讲它采用了标准的master silver的这种结构,那么所谓的master silver就是主从结构,对吧?那么我们下面有张图,它体现了这种结构,图形当中左边这边是driver program啊,我们driver的程序,它就是我们所谓的master,在计算的时候它起到了一个管理调度的作用,而我们右边的executor,它在咱们计算的时候体现出一个干活的节点,它可以执行咱们的任务,是这样的。所以啊,我们的driver和executor,它就是我们在运行时的两大核心组件,那么这两大核心组件,首先第一个driver driver呢,它是驱动器节点,它来执行咱们程序当中的main方法,触发整个作业的执行对不对?所以我们用户程序转换为作业的这个操作是由driver完成的。
01:00
然后呢,在我们的ex之间,他来调度咱们的任务,你调度任务以后,我要跟踪咱们的任务的执行情况,并且通过UI界面来看到咱们的执行情况,这是一个非常好的,然后呢,我们的它其实是我们的一个进程,它可以在运行当中去执行我们的任务,而且任务之间是彼此独立的,那么它的主要核心功能呢,其实没有别的啊,就是执行任务,并将任务返回给咱们的driver。然后呢,它本身如果为了提高执行的性能呢,它也会对数据进行一些缓存,这也是它的一些功能没有问题。所以啊,Driver和我们的ex是咱们10SPA在计算的时候,两大核心组件下面呢,是我们的master和worker,那么所谓的master和worker呢,其实在独立部署模式当中,我们的跟资源相关的两大核心组件,因为在独立部署模式当我们需要由Spark自己来提供咱们资源的管理和资源的调度和执行,那么这个时候就会涉及到master和worker,那么怎么理解这个master和worker呢?其实啊,咱们跟雅安当中做对比的话,我们的master就类于咱们雅当中的resource manager,我们的ER就类似于咱们雅安当中的什么no manager,你一对比这个就好理解了啊。
02:21
嗯,接下来咱们是application master,那么这个application是怎么回事呢?其实首先呢,咱们前面的driver和ex,它是我们跟计算相关的组件,而我们的master和worker呢,是跟资源相关的组件,那么计算和资源如果想要交互怎么办?如果他们能够直接交互的话,那么这个时候他们就增强了耦合性,对吗?同学们,比方说我现在有一个driver对吧?然后呢,有一个我们的master,那如果我们的driver直接可以跟master交互,那么他们俩就耦合在一起了,所以这种方式并不推荐使用啊,所以怎么办?我们在中间加一层,就意味着我们的driver它并不能够跟我们的master直接交互,怎么办?加一个叫做application master叫am,然后呢,在这边再来一个master啊,就是我们的那个管理的资源调度,那好,我们的driver如果想申请资源来委托我们的application master。而我们。
03:21
Application master再来向我们的master来申请资源,所以这样的话,他们组件之间就可以关联起来了,啊,是这样的,这就是他们的核心组件。
我来说两句