00:00
有了这个呃,快照的功能,那我们下面呢,就可以放心大胆的去用了,对不对,哎,这个玩坏了,可以回回来之后啊,再恢复恢复继续往下走。接下来下面来看第一个案例哈,叫雅安的生产环境核心配置参数的一个案例,对吧,刚才刚讲完这个1.6核心参数如何配置,那下面呢,我们就来结合我们当前这台虚拟机。啊,去配置一下,首先我们看一下需求说呀,从1G数据当中统计每个单词出现的次数。啊,这个永恒的work count再次出现啊,这不典型work count吗?那我们现在服务器什么状态,是不是三台呀,你看一下。三台服务器吧,好,那我们现在是三台服务器,每台配置呢,是4G内存,那是不是4G内存。右键设置打开。看一下当前内存是不是四个G啊好,GPU核数多少核,是不是四核啊,哎,处理器核数呢是四核,OK,那线程是多少呢?哎,我这里面其实配的比较低啊,我就认为它是四个。
01:01
正常情况下呢,四核呢,可以是配置成八线程啊,这跟你的服务器有关系,如果你正常情况,你可以去这个京东上去搜索。呃,服务器。看京东上就可以购买啊。这网速比较慢。你先先先加载吧,等他一会儿啊。行,那这个呢,是这个内存配置。往下走,那什么需求呢?那我就说我要处理这大的数据,我的服务器当前是这么一个情况,那我下面这个雅恩如何来配置?这什么关系呢?对吧?生产文件任务有了,老板让你干什么事儿知道,那我目前已经买了多少台服务器我也知道。那具体怎么配呢?那我们先算一下,分析一下哈,首先我们是一个G的数据,假如说它没有进行压缩,可以支持切片那128兆一块,那它就要执行八个map。那还有一个reduce test,这极端这最少的一个radio,对吧?啊,一个radio test,还有一个呢,是Mr master啊,要开启一个容器,那现在我们相当于一共要开启十个容器。
02:11
是这样吗?哎,好,那十个容器我除以三台,哎,三个任务约等于三个任务,其实可以是433啊这种,因为它呢,其实嗯,占的资源并不是特别多啊,就333也还好。啊,心里有数,把这个钉出来。这是我们最原始的一个输入参数,那根据这个参数你如何来配置雅呢?你先思考一下,我们等待一下网站这个加载啊。那现在这个服务器已经加载出来了啊,华为的服务。华为这个配置这个介绍的不详细啊,看戴尔的吧。行,我们来看一下这个戴尔的啊,戴尔的呃,看到什么呢?往下看,如果你未来去企业里面购买服务器的时候。它这里面有各种参数,看到吗?这服务器长这样啊,看到吗?没有显示器啊,没有显示器就这种页面。
03:02
你别告诉那个老板说怎么有显示器,用显示器吗?这个服务器就放在机房里面,一放是吧,就完事了啊。好,那你可以买的,买8G内存的1T硬盘啊,然后16G内存的1T硬盘的,16的32的,32的64的啊,还有这个128的啊,生产环境下的,通常我们会买这种。啊,128G内存的。那除了买它之外,你看上面这个地方。是不是还有对应的这个CPU核啊,GP核,你看十核20线程,16核32线程,什么意思,也就是说一个CPU一般情况下呢,会带动两个线程。啊,一个并发运行啊。啊,那这里面那当然也有这种,你看12核12线程的也有啊这种只不过这种比较少,你看六核六线程的啊,大部分都是啊多核啊,这个40核80线程对吧?啊都是翻倍啊乘以二就可以了。行,那这里面呢,我这里面是保守估计说四核四线程,最低能达到四核十线程啊,通常情况呢,四核八线程啊,那我的电脑配置现在带你们看过吗?对吧,怎么看呢?怎么看你电脑性能,这有个CPU对吧,然后打开监控器。
04:07
刷新往下一拉,你看我这十五十五那是从零开始就16盒呗,啊,16个CPU嘛,啊,我这16个CPU啊。好,那这个就不看了啊,回来那这个机架机架你们看没看过,这你们看看机架吧。鸡架。七加五,嗯。机架其实就是一个大铁盒子啊,这个没有什么神奇之付啊,你看才1000来块钱啊,便宜的才嗯多少600多,你打开一个。就这种啊架的它就是一个铁盒子,但是这个铁盒子呢,它是有这种电池啊,防电池兼容的,而且呢,摆放这个服务器的时候啊,也比较有插槽是吧,有这种挂线啊绑线都比较方便啊,是是这么一个东西啊,像咱们公司啊都有啊。行,那好了啊。
05:00
这是这块那行,那下面回归正题,那这个参数到底怎么配。是吧,那我们一个一个来看啊,首先来看第一个参数,说选择调度器,那默认调度器是哪一个,是不是容量啊,那我们是什么公司,是不是中小型公司啊,那中小型公司,那我们再次就配容器可以吧,嗯,先配容器啊,后面我们有个案例是配公平的啊。那再往下找,下面说这个地方这个参数,这参数还记得吗?干嘛的什么什么线程数对吧?雅恩result,这个result manager处理客户端的请求,线程数默认是50,那50是多还是少呢。思考个问题。50是多还是少?我们一共多少台服务器?三台几个线程?每台四个线程,三台服务器乘以四个线程,相当于我最多能够运行12个任务。并发的。那你12个任务实际生产环境下,你会把12个任务全用在这个杰克的身上吗?不会吧,你除了这个result manager接客,那你还有其他的任务进行运行啊,你回忆一下,102上除了有result,这个103上除了有result manager,是不是还有note manager,还有data note,那也许你这里面还运行其他任务呢?
06:11
对吧,那你不能都用满,那一般你要打一个折扣,那比如说我用八个,我最多能用八线程,那你这个默认50就太大了。是吧,哎,那这块呢,就改成八,就这么去改,根据你那个CPU那个线程数,刚才已经看那个服务器了,服务器里面是不是也有啊,哎,你多少多少线程,你这个no manager,这个result manager节点都能够算出来,哎,你单击来之后乘以你的台数不出来了吗?啊总的线程数。往下看,那下面一个。说这呢,是这个自动的一个硬件检测,看到吗?雅安自动检测配置,那是不是是false啊,因为我说了,我们后面要手动的去配置,如果他开启了,你后面怎么配都没用了,哎,自动安装了相当于是。再往下。下面是否将虚拟核数做CPU核数啊,默认是false,也就是说不做,只有采用你的物理CPU核数,那之前已经说过了,如果是I3I5I7这种CPU混搭在一起安装的,那如果你这个单节点这个是。
07:09
I7。那我建议你就把这个开启啊,记住啊,这个配置是noe measure的配置,是每一台服务器的配置不一样啊,对吧,你这no measure,那你就采用物理的,那它也可以采用物理的,但是你就得虚拟出来两个到三个。OK吧,哎,那具体涉及到两个还是三个呢?可以靠这个参数,默认是一个到一个。哎,那你I7,那你就把它配成2.0不就行了吗。再往下看,下面呢,说note manager使用内存默认的是8G,修改为四个G,因为我这个note manager一共内存多少,一共内存就四个G,那你你配置8G那不给自己找事了吗?那把linu系统内存不就占了吗?哎,所以说这块呢是四个G啊。那继续说no manager CPU的核数默认情况下呢,它是,哎,给你设置八个,但是我实际CPU的核数多少,是不是实际只有四个,那你这块就配四个呗,把它一改。
08:02
哎,就根据你的服务器配置啊,那再来说容器的最小内存是一个G,最小内存一个G一个G没问题吧,对吧,因为我们这个每台单单节点四个技能,那能开四个四个容器能啊没问题,那再往下走,下面说容器的最大内存八个G,那坚决不允许。你这每台服务器才四个G,你你你咔咔把它配置八个G,那能行吗。对吧,那这里我配置是2G,我把它打个折扣啊,打个折扣,因为容器一个这个note manager是不是可以开多个容器啊。对吧,那我打个折扣之后是不是就可以开启两个容器了。啊,是这个意思啊好。但这个容器有的时候你也别给太小了,比如说你这个任务这个有有有的运行一个任务,这个容器里面都超过你2G内存了。那你这个2G的时候是不是就小了,那它直接OM就不能运行了吗?啊,你也得根据情况,如果你有大型这种任务的话,你确实比如说8G,因为生产环境下内存是够的,128G那足够。对吧,你也许这个8G都还小呢,那你可以给他这个16G都有这种可能就出现啊,不是说一定得往往下调啊,千万不要误解。
09:05
再来说容器的最小CPU核数呢,默认是一个,这没问题吧,哎,一个容器里面分一个CPU,嗯,最少分一个嘛,可以,那最大。最大的,它分了四个。四个呢,我这一共这个我才四盒,一共才四盒,那这个有点多多少少哈,呃,有点太多了,那怎么办,就改了两个。啊,就要两个啊,还是打一打一半啊,打个折扣啊。那再来说虚拟内存检测,默认是打开的,但这里面我给关闭,你还记得有一个虚拟内存检测,还有一个物理内存检测嘛,它物理内存检测我们没有把它关闭啊,啊物理内存那什么含义呢?给大家看一下这个图。什么叫物理内存?比如说我当前这台服务器,我是不是有4G内存?那它在物理上就会有这个4G内存,它就检测你的内存到没到四个G,超过四个G,那他要报警了。那这呢叫物理内存检测,OK,那这个我们没有关闭,正常使用好,那虚拟内存我们这个为什么要给它关闭了呢。
10:03
是因为这样。看啊,虚拟内存怎么玩的,它呢有一个参数叫物理内存和虚拟内存的一个比较参数。哎,这个比例呢,是2.1倍,那如果你物理内存是4G,那我虚拟内存就是8.4G。它就这么个比例啊,那认为你有虚拟内存8.4G,它怎么用呢?首先Linux系统会帮你去,哎,用这块虚拟内存。他占用了大部分虚拟内存啊,这里面我写的5G其实比5G还多。然后呢,这个Java程序就是Java堆对吧?啊Java程序它就得用这个虚拟内存呢,对吧,它得计数。好,它是由两块内存组成的。但是有个什么问题,三头S7以上啊,三头S7.0以上和这个JAVA8。他俩呀,对这块内存的使用上,哎,不是特别友善。哎,各自为政。链接系统它去分配,假如说5G java8去使用这块。
11:03
他没有用你这个Linux系统给他分配使用的,正常情况下是要用这块,实际没用就导致啊。大量的浪费了很大一部分内存没用,那就说你这个4G的这个物理内存到虚拟内存这一块之后,是非常小的一内存了,比这个4G还小啊,可能23G甚至一到一到4G之间嘛。啊,这么小的内存,那就会导致这个虚拟内存很容易就超过这个上限了,08:17,因为这块没用啊,但是他给你算进去了。能懂意思吗?也就是说你这4G内存映射到物理内存,实际你使用的内存假如说只有一个G了。那他一会儿他就报错了。所以说这个虚拟内存检测呢,它这个在三段27和JAVA8它俩之间,你就不要开启了啊,把它关掉。啊,是解决这个事儿的哈。那下面呢,我们就具体来配置一下这个参数,把这个拿走。哎,这个参数呢,放到雅site啊,雅安site,那这里面说明一下啊,我现在呢是三台服务器。
12:04
是不是硬件配置都一样啊,那我这个配置可以分发,那如果在生产环境下,我这个硬件配置它是64G,它是128G,我能这么直接分发吗?啊,比如说它是16G。是不行啊,是不是你每一个节点都得去单独去配置对应的noe measure配置情况啊,这一定要注意啊,这一定要注意一下,那行,那这里面由于我们一致,我就拿过来来到102。脱了啊,102。CD OPT model,嗨法。进来CDETC开度啊,VM雅N杠赛进。进之后找到末尾,诶别找错了啊O插入进来。右键粘贴。搞定搞定之后呢,分发一下SYNC雅n set。那这个执行完毕之后啊,那下面我们开启一下这个集群。
13:05
开机啊,这是服务器啊。这块注意哈,不要这个,嗯。一会呢,我们来执行一下这个word看程序啊,看看它的一个运行情况啊,看他能不能正常运行啊,你别配完了这个挂了是吧。GPS没问题,然后呢。那这里面我右键。关闭右侧啊,其他标签。Hide。103。8088。查看一下任务的情况啊,现在呢,上来上来之后你发现看到没改了吧,哎,总内存已经变成了12G,然后呢,这个是呃,最小的一个1G内存啊,然后呢,这个总上限是不是已经变成最大值是2G内存啊,然后最小是一个CPU核数,最大是两个CPU核数啊嗯,这块都已经改变了哈,然后同时你看一下调度器。
14:00
调度器我们这个还没配啊,没配行。那好,那回到这个application,那我们执行任务呗。嗨豆。价对吧,嗯,价价下面呢,我们是赛尔。嗨,豆粉。Mapop examples word。Count。然后呢,Input路径下,下面input to。对吧,检查一下这个路径是否存在啊。刷新一下OUTPUT1OUTPUT2没问题,把它删掉啊。这个也算了。行,那走。执行任务,执行任务期间你可以查看一下。他的一个情况。对吧,你看一下这里面说分配的内存是最高咱们分配2G啊,哎,你看它执行的就是2G。那这里面是执行这个任务,你看这个default队列啊,正在执行对吧,那deft队列正在执行。
15:04
这是它的一个队列情况,后边呢,我们会详细给大家讲这个队列啊。那这里面这几个值啊,要注意好慢用的2G。执行吗?执行完了吧,哎,执行完毕,然后这个呢,就是任务的一个啊运行啊。也行,那这些参数呢,在生产环境下呢,一定要这个活学活用啊,根据你实际的这个情况去灵活的去配置。
我来说两句