00:00
好,接下来呢,我们来总结回顾一下雅安里面的面试重点和开发的重点啊。来打开。这是第四项了,哈然。OK。那雅安里面哪些是他的面试重点呢?我们来画一下啊,第一个你需要记住的第一个事儿呢,就是盐的工作机制。第二个面试题,盐的调度器。那工作机制还记得不啊,工作机制其实他就跟着一个对话一样啊,呃,左侧呢,这边有个客户端,右侧呢是有一个,呃,Resource manager对吧,Resource manager这边是客户端,客户端最后一行代码叫wait for compation,创建一个雅安run,那它会跟这个resource manager说申请运行一个任务。那老大说没问题,那你把你这个嗯东西提交给我吧,那他会让给他一个集群路径。
01:02
他会向这个集群路径上提交三样东西,分别是XL切片,还有一个是架包。XML呢,表示你这个照吧,得按照这个XML进行执行,切片呢,是为决定未来开启多少个map test加包呢是程序的代码,好,它提交完毕之后告诉他说哥们我已经这个提交完了,对吧?哎,那我同时申请运行我的mrpp master,哎,那在这里面就会形成一个任务,那由于啊你这里面有多个客户端,也都会向这里面进行访问,也会形成N多个任务,为怎么办呢?在这里面它有一个调度器,把这个任务啊进行一个管理起来。管理起来之后,那正好这个node manager节点呢,有资源,他就把这个任务啊领走了,领走之后他第一时间创建,创建这些事儿呢,就是创建container容器。在容器里面执行所有代码,那它启动了RA master,那这个rap master就会去这个集群路径上去读取切片信息,读完之后啊一看,假如说一看是有两个,那他会跟他申请说我要运行两个map test。
02:10
那正好这两个节点呢,那我怎么成,哎,有资源那把这个任务领走,那不一定是两个节点啊,有可能是一个节点啊,有开启两个容器就可以。那开启完之后,首先他要创建对应的容器,然后这边发送命令,这个容器开始执行ma探,Ma探。那map t最终啊,会把数据按照这个指定的分区把数据存储在磁盘上。然后又会申请说我要运行reduce。对吧?哎,那正好这个期间又开启了reduce test reduce test那当然也是在容器里面进行执行,哎,Reduce test执行完毕之后,Mr master跟老大说,哥们儿,我已经全部执行完了,你释放我这个志愿。就可以了啊,那这里呢,是一道非常重要的面试题。OK吧,那下面来看一下这个调度器,那调度器这块,首先第一个你需要记住的几种调度器。
03:04
FIFA对吧,啊,容量还有呢,是公平这么三种电器。那好,阿帕奇。默认调度器是哪一个?是不是容量啊,嗯。那几点去呢?ZDH。默认调度器。是公平。OK。可以,那再有那如果说你用的是容量调速器,那容量调速器它默认几个队列。默认一个def faupot,其实公平调度器是不是也是默认只有一个呀?哎,默认也有一个defat队列,那一个default队列在生产环境下能不能满足这种并发要求呢?满足不了需要。创建多队列。对吧,好,那创建多队列按照什么命名呢?那中小型企业。
04:05
哎,有的是按照,比如说把任务呢,放在have里面。放在Spark里面,放在flink以及放在2OK这样去创建队列,哎,不是特别多。那大企业呢?他的业务复杂。重大。它的双线呢,就采用这种业务模块。比如说登录对吧,嗯,注册还有呢,像这个购物车。按任务指标。对吧,啊营销。诶,等等这些模块,每一个模块呢,创建一个队列,那有什么好处呢。好处九。啥意思啊,而且还降低风险。防止啊,呃,菜鸟提交了一个递归死循环,导致你整个鸡群瘫痪。还有像双11。双11还有618。的时候呢,这个数据量特别大,我可以叫降级使用。
05:05
对吧,一共有十个队列,那我十个队列所有的这个任务,我不能保证所有都能运行,那我可以保证其中的前三个呀,前三个重要任务啊,进行一个执行啊,这是这块,那下一个呢,还有就是各个调度器的一个特点。嗯,哥哥。每个。调度器。特点。每个都要缺点,那这里面首先容量到期。对吧,他什么特点呢?那你回顾一下,把这张图打开。把它截出来,这是容量到期。对吧,然后呢,我们再把公平调速器打开。这两个打开之后,那你来看一下各自什么特点。第一个都支持多队列对吧。
06:02
多自练,这没问题,那还有是不是都可以,这个集群资源不够了,可以借调资源呢。可以借。那再来除了可以借之外,还有是不是也都支持多用户啊。支持多用户。可以啊,那它们不同的点在哪呢?这个相同点吗?嗯。不同点主要是调度策略。啥意思,看看啊,容量调的气。它是什么特点呢?容量调度器。他是不是优先满足先进来的任务的一个资源分配啊,比如说我有这个,呃,实际的内存。那你第一个任务用8G,第二个任务用2G,那我前两个开启,那后两个是开不起来呀,对吧,它的特点呢是叫优先。优先满足先进来的任务。
07:03
执行。哎,这也是它的特点,那好,那公平器什么特点。它讲究的就是绝对公平,对吧?啊讲究的是公平,那你看进入到这个队列里面的任务是不是公平享有队列的资源呢?好,你说。在。队列。里面的任务。公平。享有。队列资源,哎,当然是在一个一定的时间范围内啊,你新加来任务,他不可能立即就把这个资源给你,达到一个平均状态,需要一定的这个周期啊。那行,那在生产环境下我们怎么选呢。你说我选哪一个调器啊,记住中小企业。哎,对并发度要求不高。
08:02
要求不高啊,选择容量。那如果中大型企业呢?中大企业对并发度要求比较高。第二个选择,公平。对吧,哎,这样去做就行了,那这是在这个呃,雅安当中两道面试题,那除了两道面试题之外,还有呢,就是生产开发,你要需要注意的地方。比如说开发需要重点掌握的。需要,嗯,重点掌握啊,非常重要啊,其实雅安呢,在我们后面学Spark呀,Link的时候也是大量使用的,所以说这块一定要认真学啊,那首先看一下第一个。调度算法你得清楚对吧,哎,开发的时候你调度算法这个队列怎么运行的,哎,那这个得清楚。
09:02
队列原理,嗯。行吧,啊,其实就是上面这一块啊,这一块也是算法这一块。那接下来再来。雅安命令。常用命令,哎,这得会。哎,在命令行上我能查看日志,我能够这个查看这个application ID,它对应的运行情况,还可以查看容器对吧?哎,容器还有呢,尝试运行的这个任务等等都可以对它用,用这个来查看。那除了它之外呢,还有核心参数的配置。对吧,之前咱讲核心参数的时候,也给大家说过,你这些参数你要不配,你觉得你是一个合格的开发人员吗。对吧,哎,那是不可能的啊,所以说这块很重要,那接下来就是需要掌握的就是哎配置。容量到气。
10:03
容量调度器和公平调器。对吧,那两个案例你得会再有一个two接口。对吧,哎,Two接口使用。那你开发的时候,你这个肯定要配置突击口了,让这个程序呢,正常一个运行行,这就是这个雅恩,你需要重点掌握的这些内容啊。
我来说两句