00:00
好,那现在我们开始安装这个阿斯卡班,呃,那在安装阿斯卡班之前呢,我需要给大家先介绍一下,就是咱们阿斯卡班这个这个一个基础的架构吧,啊一个基础架构,那我们的阿斯卡班呢,在安装的时候呢,我们呃需要了解到啊它呃一共有两个啊或者是应该有三个吧,嗯,就是阿斯卡班架构当中呢,一共有三个角色,三个角色啊,哪三个角色呢?一个叫做阿斯卡班web server。一个叫做阿斯卡班exor server啊,阿斯卡班web server和阿斯卡班ex server,然后其不还有一个角色叫做什么呢?叫做诶database就是数据库啊,当然这个数据库呢,其实并不是属于我们阿斯卡班的架构之中的,只不过就是阿斯卡曼是不是会用到数据库啊,对吧,在这呢,我们就是用MYSQL就行,那用MYSQL就行,然后接接下来说一下啊这个呃,他们三个角色呢,分别能够起到什么样的作用啊,咱们先说web server。啊,先入web server,那这个呢是ex server啊,这个是DB,那web server它能够实现的功能是什么呢?首先web server是不是肯定会给我们提供一个web页面啊,对不对,那这个web页面呢,就是我们的工作界面。
01:09
啊,也就是我们用户,咱们使用的阿斯卡班是不是就是通过它提供的web页面去使用它呀,对不对,这就是我们提供的一个交互界面,这是第一个功能,那第二个功能呢,我们阿斯卡巴能够在外部页面上给我们展示出来什么呀,展示出来啊一个什么呢?一个工作流程的执行进度吧,对不对啊,那这个执行进度他是什么样的呢?怎们怎么展示呢?啊,怎么展示啊,它底层的工作机制是这样的啊,是这样的,那我们说,呃,现在说这个可能其实有点早啊,那咱们一会再说吧,那也是现在呢,咱们先说一点,就是阿兹卡文的web server呢啊给我们提供了一个用户的一个交互界面啊,这个咱们先搞清楚啊,那也是说我们,呃,是不是定义工作流程啊,然后呢,去呃查看什么工作流程的执行进执执行进度等等,是不是都是在这做的呀,对不对,都是在那儿做的啊好,这是关于他的,一会咱们再说它的另一个作用啊好,那咱们接着往下走,那刚才也说了,我们定义工作流程是不是在这个外部页面去做的啊,那包括我们配置定时啊等等,是不是都是在外部页面上做的,对不对?
02:09
那做完之后,你的这些配置的各种信息啊,它会存到什么地方呢?啊,它又会存到数据库当中,It里边啊,存到这里边啊,啊那完了之后啊,那这个任务假如说我们是定时调度对吧?那假如说时间到了,时间到了是不是这个任务需要去执行啊,对吧?那真正去执行任务的是谁呢?是exutor,你听他名字能就能感受出来,对吧,工作对吧,工作节点ex啊好,那exor他会怎么做啊,他呢,他会去数据库当中,Database当中去拉取我们这个任务所需的脚本啊,或者其他的一些信息啊,就把这些脚本或者一些依赖的JA包啊等等等才会诶加载到它的本地啊,加到本地之后呢,它就会执行。啊会执行,然后呢,他在执行的过程当中啊,注意啊,他是会执行自己的任务,执行的过程当中呢,他会把自己执行的任务的这个进度呢,给他怎么做呀。
03:06
写到database当中啊,有一张表会专门用来存储咱们任务的执行进度啊,它会写到这里边儿来,写到这里边来呢,我们的web server就能怎么做。他是不是就能够拉取到这个任务的执行进度啊,那拉取到之后他就能怎么做了呀,是不是就能给我们展示出来这个任务的执行进度了,哎,他大致是这样一个流程啊。但是这样的一个作用。啊,所以说咱们现在总结一下啊,也是web server呢,它提供了什么样的作用啊,是不是给我们用户提供了,呃,操作这个我们一个什么呀,一个用户界面对吧?啊,一个界面,我们的用户的工作的,呃,这个配置啊,呃,工作流程的配置,以及工作流程进度的监控等等,都是在web页面上啊,去web server去做的啊,然后真正去执行任务的是由EXQ做的,那这个DB数据库里边存什么呀,是不是就存一些我们任务的执行信息,以及一些这个任务的执行进度啊,对吧,就是这些东西啊,那大致它的架构就是这样的啊,画角色我们搞清楚就行,Web server ex server和数据库啊,然后呢,再一个我们再来简单说一下啊,就是我们阿斯卡文的这个部署模式。
04:10
啊,那部署模式呢,它分为两种啊,一种叫做单机版啊,一种呢叫做这个呃可以说叫集群版啊,单机版和集群版,这个单机版和集群版啊,区别在什么地方?区别主要体现在exor上面啊单机版我们呃这个阿斯卡班呢,哎,只有一个web server,一个exor server,那如果说我们部署的是集群版呢,那会有一个web server加多个exor啊多exor,那这多个exor你说它能有什么样的作用啊?啊,有什么作用啊。啊,有同学提到了并行对吧,哎哎,有这个作用可以,那还有没有其他作用呢。其实能起到一个这个,呃,就是相当于一个负载均衡啊,或者是一个容灾的一个功能啊,你想一想啊,那假如我们现在只有一个ex,那只有一个exor的话,那我们的web serve假如把任务分给这个ex了,那假如这个ex挂掉了,那任务是不是就执行不了了呀,对不对,假如我们现在有多个ex,那我是不是挂掉一个。
05:10
不会影响到我们这个任务的执执行啊,你挂了我就分配到另外的节点,对不对啊,那再一个呢,也能起到负载均衡的作用啊,如果说只有一个一个Q点,我是所有任务都给他,那你多个的话,那如果说这多个任务之间没有依赖关系,我是不是就可以并行的分到不同的ex去执行啊,对不对,那这块呢,是单个的ex和多个excu这种部署模式,那在咱们的生长环境下呢,我们肯定是用用哪种啊。肯定是集群模式啊,集群模式啊,啊,那在这呢,我们搭的就是集群模式啊,集群模式啊,我们把这点搞清楚,那既然要搭群模式,集群模式的话呢,我们这儿呢,就得做一个集群规划啊,那咱们这儿这个集群规划怎么做呢?我们一共三台节点对不对,那三台节点呢,那我们就怎么做呀。啊,我们就选一台用来部署web server,比如说102我们部署web server啊,那102 103043台节点分别部署一个E,哎就可以了啊,咱们这么去部署就行,那当然呢,这是在我们这个一个相当于一个测试集群当中,对吧,咱们部这么去部署,那假如说咱们现在一个真实的生产集群,比如说我们现在呢,有15台节点。
06:21
对不对,那我现在要去部署阿德卡班,那你说咱们应该怎么分配啊。呃,是不是还得找一台节点部署一个web server对不对?那关键是ex server咱们部署多少个。咱不是多少个。咱们需要在每台节点上面都部署一个ex吗?还是只需要部署几台就够了呀。大家说需要怎么办?需要每天都部署吗?其实不需要啊,为什么不需要,大家琢磨琢磨,你说咱们这个啊,啊,卡班当中这个ex不是Spark当中的啊,你说他能他他做的只是什么呀,其实。
07:00
他所他所做的事就是干啥,以咱们这个数当为例就干啥,是不是就是他帮你去提交一下那个脚本,那个真正的计算任务是在以Q的这台节点上跑的吗?不一定吧,对不对,为什么?因为咱们脚本当中是have杠一或者什么scoop的任务,对不对?那这些任务会提交到哪?是不是提交到雅安上边,那雅安是不是会把任务分到集群当中,分到呃,若干个note matter上面了,所以说这个真正的任务在哪跑,不一定是在你这个ECU上跑的,对不对?也就是EXQ呢,仅仅就是帮我们提交一下任务而已,它也不需要太多资源,我们也不需要部署太多的EXQ,能理解吧,我们所以说即便是一个生产环境下呢,我们也只需要部署啊,比如说就部署三个ex哎就够了,是这样的,不需要每台液两上面都部署,大家把这点搞清楚好吧?啊,行,这是我们对阿兹卡班的一个基础架构的一个概述啊,那我把视频录一下。
我来说两句