00:00
好,呃,我们来看一下这个阿兹卡班它的有什么特点啊,首先呃,这一块呢,已经给咱把这个罗列出来了啊,这里边呢,这一部分的内容,诶,我们让大家了解一下就可以了啊,我们先看一看第一个特点,呃,这个阿兹卡班呢,它第一个特点就是说它能够兼容任何版本的海度法,呃,刚才说了,呃,我们阿兹卡班它解决的是什么问题啊,解决什么问题,我们再来看官网上看一下啊,它解决的是什么。看这它解决的是这个order,就是顺序呗,然后什么顺序呢?就是呃,工作单元的这个依赖顺序,它是不是解决的是这个问题啊,然后这个job,它这个job指的是什么job啊,指的就是海doop job,那什么是海doop job啊,一个MR是一个海doop job,我跑一个have的这个circle也是一个海do job等等等等这些都是这个所谓的海doop job,那这个阿斯卡班它解决的是不是就是这个海do和job之间的这个依赖关系啊,哎,就是它OK,呃,那这边呢,有一个特点,就是说它什么呢?它能够兼容任何版本的海杜op。
01:08
海杜这个从这个刚开始到现在已经到几了,已经到这个海杜三三点几了吧,哎,所有版本的海杜甫呢,那阿兹卡班它都能够兼容,那为什么它能够兼容这么多版本的海杜分呢?是因为啊就是这个,呃,阿兹卡班它的这个调度的这个架构,它不依赖于我们这个海杜op的生态圈,这是和谁做对比的啊,这是和我们这个乌ZZ诶做对比的,乌ZZ呢,它的这个调度架构呢,是依赖于咱集群上安装的这个海度的,所以说这个呃,它的兼容性呢,就有一定的要求,而阿兹卡班呢,它有自己的这个调度框架,所以说它并不依赖于咱这个海杜集群,所以说任何版本的海杜芬呢,那阿斯卡班它都能够进行调度,这是它的第一个特点啊,我们再来看第二一个特点,呃,它有一个非常方便使用的这个,哎,外部用户界面,呃,非常方便,方便到什么程度呢?是这样的啊呃,正常情况下大家来想一想,我把一个工作。
02:08
流程提交给一个这个调度框架之后,它最基础的功能应该能够实现什么?首先定时调度这个不用多说,它应该还能提供一个什么功能啊,对监控就是说,诶,你比如说我有一个工作流程,你这个工作流程现在执行到哪一步了,是不是最好能够给咱展示出来呀,对不对啊,诶确实是阿兹卡班,它能够提供这样的这个S功监控功能,那除了这个功能呢,对我们甚至还能够在这个呃,Web页面上对他的这个工作单元进行修改,你比如说我提交任务的时候呢,某一步我的任务,我的配置,比如说我我马虎,我出错了,那我就可以直接在web页面上进行修改,其实这个呃就是易于使用,是和谁对比呢?也是和我们后续要学的屋Z进行对比的啊呃,屋Z的web页面呢,就相对来说没有那么友好了,是这样的啊好,我们到时候再说,然后我们再往下看第三一个特点,呃,简单的工作流的上传。
03:08
啊,这个工作流也就是什么意思,工作流就是我刚才说的那个工作流程,因为什么你有一个工作流程,你要想交给阿兹卡班去调度的话,你首先得把这个工作流程得描述出来吧,你得告诉你,首先咱自己得知道哪个先哪个后,咱描述完之后呢,再交给阿兹卡班去调度,那我怎么交给他呢?直接在web页面上进行上传就可以了,非常的方便啊,也就是说在使用阿斯卡班的过程当中呢,我们绝大多数的工作呢,都是在web页面上去进行操作的,这个是挺方便的啊,然后再往后就是说方便设置任务之间的关系,呃,因为呃一个工作流程,它当它是不是有一个这个先后的依赖关系啊,对不对啊,诶,那现在你比如说我画了一个最简单的工作流程。是不是就是前一个依赖后一个呀,那有没有可能会出现这种复杂的呢?这种你比如说这有一个,然后后边我出现了两个并行的任务,两它两个之间是没有依赖关系的,但是这两个任务呢,都依赖于前一个,是不是有可能会出现这种情况啊,然后比如说在后边呢,我这一个任务诶又依赖于他们两个,是不是有可能会出现这种复杂的工作流程啊,诶对,就是这样的,就是说甭管咱这个工作流程多复杂,在阿斯卡班你去定义它这个任务的这个依赖关系的时候呢,都是非常非常方便的啊呃,这个可能现在大家还感受不到,我们学完之后大家就能够体会到了啊,然后呢,再往后这个调度工作流,呃,这个不用多说,这是我们阿斯卡班它最呃根本的一个作用嘛,就是定时去调度工作流程嘛,这个不用多说,然后往后模块化,模块化和这个可插拔的插件机制,呃,什么意思呢?呃,阿兹卡班就是说。
04:53
它这个它有两个模块啊,一个是它的这个web服务器,还有一个是它的这个excu服务器,就是执行器,所谓的web服务器是什么呢?我们后边会讲的啊,Web服务器就是诶我们负责这个任务的上传啊,任务的这个监控以及展示等等等等这个模块,那excuor这个模块指的是什么呢?Excuor是不是就是执行器的意思啊,也就是真正的去跑任务的那个节点,诶也就是它的这个web服务器和这个excu呢,它之间是这个模块化的,他们之间呢,是互不影响的,是这样的啊呃,然后什么是这个可可插拔的插件机制呢?是这样的啊,就是你想啊,阿兹卡班它作为一个这个任务工作流程的定调调度框架,那它是不是应该是就是说呃,尽可能的去能够兼容很多的工作类型啊。
05:43
对不对,就是说我什么样的工作类型我都能调度,这是不是应该是一个这个框架,它这个就是说可用性比较高的一个特点啊,就是我什么任务我都能调度,诶这是这样的,OK,那这这是他啊,但是呢,他不可能把所有的这个呃任务类型它都内置了,所以说他给我们提供了一个这个可插拔的插件机制,就是说我们可以去自定义这个工作类型,然后给他通过这种插件的方式去配置,然后这样一来的话,那他就能够去调度我们自己给他自定义的那种任务类型了,是这样的,所以说这边呢,有一个可插拔的插件机制,呃,但是正常情况下我们一般也不会去这个自定义的啊,因为他给我们提供好的这个内置的这个工作类型呢,已经完全够我们去使用了啊,这是它,然后我们再往下这儿有一个这个认证授权的这个工作,这指的是什么呢?就是说我一个工作流程,我提交到这个阿斯卡班了,对不对啊,刚才前面说了,呃,在这个阿斯卡班的这个web界面。
06:43
我是不是甚至能够去修改这个工作流程啊,既然是这样的话,那这个公这个认证授权的这所谓这个权限工作呢,就必不可少了,为什么你是不是所有你要是假如说你这个任务提交上去了,那所有人都能去访问你的任务,所有人是不是都能够进行随便的给你修改呀,那这样一来肯定是不行的,所以说阿斯卡班呢,提供的这个非常严格的这个呃,认证授权的这个工作,也就是说我们如果说给某一个工作流程配上权限之后,OK,那这个任务呢,就这个任务工作流程呢,就只能被某个人看见,诶也可以给他,给他设置呢,不能让谁谁谁看见,这是这样的啊,就是说这个权限的工作,阿斯卡文做的是非常不错的啊,然后再往后,呃,第这个第八一个这个特点是什么呢?就是它能够杀死并重启这个工作流程,呃,这个很简单,也就是说他能够进行失败重试呗。
07:36
对不对,它能够进行自动的失败重试,这个也是挺不错的啊,然后我们再看第九一个有关失败和成功的电子邮件提醒,这个功能也是很常见的一个功能啊,而且这个功能是很重要的,你想一下呃,假如说我有一个工作流程,OK,我让他定时去调度,那你给他提交完之后,咱是不是就不用管它了呀,因为他会自动的逐一逐一的去提交嘛,但是咱也不知道他这个工作流程到底能不能顺利的执行完成。
08:07
对吧,那假如说哎,我我正常情况下,咱这个任务呢,都是这个凌晨去去让他去跑的啊,你比如说呃,凌晨开始跑,假如说跑到一半的时候失败了。然后结果领导呢,我我第二天领导还等着看结果呢,那你半夜就失败了的话,那你第二天早上一一去,你会发现这个任务跑到一半没有成,那结果是不是就出不来呀,所以说呃,假如说我给他设置一个这个呃,失败或成功的这个电子邮件提醒的话呢,假如说半夜失败了,OK,失败了之后,我就能立马收到他这个失败的这个邮件,那我是不是就可以去赶紧去让他去重新再跑一下啊,去检查一下问题,看看哪出现问题了,然后解决完之后让他赶紧继续跑。所以说这个失败和成功的电子邮件提醒是很重要的啊呃,所以说我们后续呢,也会带大家去,诶配一下这个东西啊好了,呃,那我这块呢,先录一段视频。
我来说两句