00:00
好,接下来我们来看一下雅恩的生产环境核心配置的一个参数,那这个呢,是非常非常重要啊啊好多这个同学啊,啊工作了这个多年,那这个雅的参数呢,呃,怎么配置还是不清楚。那怎么调呢?我们来看一下哈,如果在生产环境下,我们搭建完集群,要配置哪些跟雅安相关的一些参数,首先这张图宏什么?哎,这是result manager,然后note manager客户端,客户端I master,然后呢,还有对应的各种task任务。对吧,哎,这么几个组成哈,那首先来看第一组参数,Resource manager相关的。这里面有两个参数,第一个调度器。对吧,调度器,那默认调度器是容量调度器,那这里面要加个前提条件啊,是阿帕奇的,如果是CDH的话呢,默认是公平调度器啊,这要了解一下哈,好,那也就是说在生产环境下,如果你是一个大公司,你对并发度要求非常高,那我们要选择哪一个调度器呢?
01:02
是不是要选择公平啊?如果我们是一个中小型公司,对并发度要求并不是特别高,那我们选择哪一个?选择容量就可以了,那Fi调器选不选,F调器不选择。没人用好,那下面再往下看,说resource manager这个什么线程数,哎,处理器的请求线程数量默认是50,啥含义?这是我的resource manager。跟我manager打交道的是有N多个客户端向我这里面提交任务啊。好,那你向我集群提交任务,那如果我一下子来了1000个客户端,来极端情况可以吧,来1000个客户端跟我去交互。那我这个measure接客能不能接的过来?能不能接的过来?对吧,哎,说没问题啊,那海哥,那你就设置这个1000个先成呗,那行,这个我的集群资源我可以申请,对吧,我申请增加到这个1000个。
02:01
啊,你香港。好,那问题又来了。那你准备,假如说我这边准备了1000个接客的人。但是今天没来那么多客人啊,只来了这个五个客人。那我这些人。是不得饿死啊啊,没有饭没没没没法挣钱呢,对不对,那就叫闲的要命啊,天天在那待着,是不是这个也不合适啊。这个问题吧,那就是设置多少这个线程数是比较合理的。也有这么一个问题。那它的首先默认值是50,那后面那么也有一个案例啊,教大家如何来设置这个线程数。OK吧,好,这是这个。啊,要调它肯定要调的,嗯,再来下一组参数,Node manager相关的。Note manager,它呢是管理节点它上面的资源的,就是这台服务器上它所有的内存和CPU。那首先系统给你提供了这么一个参数。这参数很硬啊,说是是否让雅自己去检测硬件进行配置。
03:05
就相当于我们安装软件的时候,是不是有一个,呃叫自动安装。对吧,哎,一切路径啊,或者这个配置都加好了,你直接一点下一键啊,然后直接下一步直接OK了。那还有一个存在的,是不是一个手动安装,还记得吗?哎,那我们作为高级用户是不是就得手动安装,因为自动安装啊,大家都知道他有时候不太靠谱。嗯,而且呢,他也不是按照我们真实的想法去做的,他是机器人嘛,啊没有那么智能啊,那通常情况下呢,对于高级开发者来说,那我们通常都是false禁止掉它,哎,我们自己来手动的配置。下边往下看。第一个,是否将虚拟核数当做CPU核数,这是第一个参数。啥意思呢?大家知不知道有一个叫虚拟CPU和一个物理CPU。物理上的CPU。有这个概念吗?啊,物理核和虚拟核,也就说一个CPU核数,比如说一个I7的CPU核数,I7CPU。
04:05
我的处理速度是相对说要快一些,跟谁相比呢?跟I5相比。那我我可以认为一个I7,我可以认为顶上两个I5啊,假如说哈,不一定准。是这个意思啊。那好,那我这个I7我就可以虚拟出来两个核。对吧,那我工作我的我两个核,我虚拟出两个核的这个速度啊,跟你这个两个I5的速度一样,那我就可以这样去比啊。是那是这个这个意思哈,所以说是虚拟盒,那你如果你不想开这个虚拟盒,就用默认的,那没问题,哎,那什么情况一般愿意去开这个呢?比如说我这个集群上,那是他I7的。他呢,爱我的。那他挨三呢?那你说这几个CPU的这个处理能力它不一样。对不对,那你纯按这个物理核去执行的话,那是不是它就有点儿亏了,你会发现整个机群有的机器运行的慢,有的机器运行的快。那他同样的一盒,那处理速度比你这个,你两个可能赶不上他一个。
05:05
对吧?哎,所以说这时候要开启这个虚拟壳,那如果你这机器都是同一期买的,而且配置一样,那就没有必要去开。那下面说,那如果你开启了虚拟核和物理核数的一个这个啊,把它设除了,那它俩的比例是多少?比如说你这个I7的,那你I7的顶多少个I3呢等。多少个I5呢?那这里面可以设置个系数,默认是1.0啊,一个顶一个,那你开启完之后,你肯定不能设置1.1.0啊,你可以设置1.5或者二是这样吗?哎,这样才往上增加。啊是这个意思,就说设置每一个节点,你这个节点是I7的,它是I3的,那我就可以把它开启。它是针对单节点配的哈,记住啊,它是不单节点配,它完之后把它设成2.0,那我说一个顶两个,哎,跟它的直行速度是一样。OK,那下一种。下一个呢是node manager,内存默认是八个G,那你说在生产环境下它调不调呢?
06:01
你看啊,这是note manager,一台服务器。咱们这台服务器多大内存,是不是4G内存?那我这默认是8G。那这个note manager认为他自己有八个G,实际他也只有四个G,那会出现什么情况?是不是导致你这个系统崩溃啊,对吧?啊会出现这种情况,那再有一点,那如果在生产环境下,我这个NOTE128G内存。如果我的note使用内存不配置的话,仍然用默认的。那会出现什么情况?你会发现集群的资源非常充足,但是我只要跑一个超于16G内存的任务,直接挂了。因为你这里最多只能用8G,那128G跟你有关系吗?没关系,就是这个参数在生产问题下也是B调项,你会发现非常重要,对吧。那再来那说啊,以上两个参数呢,配置一个即可啊,一个是正方向,我需要配置多少内存,那另一个是node manager为系统保留多少内存。啥意思啊,就说我给你系统留留下多少,假如说你总内存是这个八个G,我给你系统说配置两个G,那我说我那这就用两个G,用六个G啊哎,八减二嘛,剩余的给。
07:10
就是给内存留多少,剩下的都归我。往下走。那是否开启物理内存检测线?啥叫物理内存的一个检测限制呢?它这里面有一个安全机制,它会监控你这个note magic内存的一个使用情况,假如说我这里面是8G内存,对吧?啊,8G内存它监控到你这里面,马上要超过8G的时候,他是不是得报警啊。对吧,哎,报警告诉你要超限了,如果说你不加控制的话,那是不是他把Linux系统的内存都占了,有可能导致整个Linux系统崩溃啊。卖所说他是来控制这个的。啊,一个监控机制,哎,那默认的这个呢,是打开的。那再来下面呢,还有一个是否开启虚拟内存的一个检测,啥意思呢?我们这个物理内存呢,假如说是还是八个G,那它会虚拟出来多少呢?假如说它虚拟出来16G。
08:04
哎,虚拟是不是就是逻辑上的物理是在啊硬盘上实实实实在在存储的。嗯,它会虚拟出来,我说我有16G。按十内存,那他会检测这个16G内存,他如果说认为超限了啊,他认为虚拟内存已经马上要到17G了,它就会直接。好一场了。啊,是这样一个情况啊,是在内存上的,那后面我们会详细再讲这个事儿,那如果说这个虚拟内存和物理内存的一个比值,默认情况下呢,是2:1,也就说物理内存你有8G,那这个虚拟内存呢,就是16.8。哎,这是系统默认设置一个值。后面我们再来调它啊,看看怎么配。OK,再往下走,下边儿呢,是这个container容器,比如说这里面一个一个的容器。那他怎么配呢?有这么几个。首先第一个容器的最小内存。你说最少能给给他分配多少,默认是一个G。最多呢,最多能给分八个级。
09:01
那我给你出个情况,那我们这个note节点是四个G。你默认最大的给八个G,就最多他可以用八个G。那会出现什么情况?是不是还是出现等导致你这个linu系统崩溃啊,它占用你linu系统的内存,那很崩溃,那他为什么这块是8G啊,因为人家note manager默认的内存是不是八个G。嗯,所以说这个内存啊,你不能超过你这个no manner节点总内存。啊,那再往下走,下边呢,哎,容器的一个最小CPU,比如说这一个容器里面有几个CPU来参与墨,那默认最少是一个,这没毛病,但最多呢是四个。我们这个note节点总CPU多少?总CPU是四个。对吧,哎,总C标四个,那我如果我总C标是两个呢,那你这块是四个有毛病吗?这不就不行啊。对吧,哎,所以说这块呢,都得调整啊,你像生产环境下这个内存。啊,像内存,内存一般是128GCPU多少呢?CPU呢,像咱们之前公司买了一个是,呃。
10:00
20盒四十千程。嗯,20个CPU40线程。那你这设置的是不是就太小了。行啊,这是相关的一个参数配置,大家能先了解一下这些参数是不是在生产环境下必须要配置,至于它要配置多少,那后面呢,我给大家拿一个啊案例。然后呢,教大家如何去配置啊。非常重要啊,认真听。
我来说两句