00:00
好,简单回顾一下昨天讲的内容啊。然后有一些细节地方呢,再给大家详细说一下啊。呃,首先呢,是第六章data note这一块啊,这一块呢是面试和开发重点,那第一个呢,Data not工作机制啊,这个呢,就是面试的一个重点啊。我来看一看。首先呢,这是一个集群啊,集群里面呢,有两个角色啊,一个是内的,一个是内部的。那他们之间是如何工作的呢?首先这个data note启动,启动之后它就会向这个内部note进行申请啊。注册信息啊,主要告诉了什么信息呢?哎,我这里面存放了哪些块,有哪些数据。OK,那告诉完这个name之后,内呢,就把这个信息哎,添加到自己的原数据里面去。就OK了,并给他返回说,诶,注册成功了。那么这件事情呢,是需要每个周期都要上报一次,那这个周期呢,默认是一小时。
01:02
那同时呢,这个data note和内部note之间还有相应的心跳帧。每三秒一次。那么是不是这个这三有意思,有一个三秒没收到,这得应答。那内部到的就认为的挂掉呢。不是这样的,那多长时间认为这个动作挂掉呢?十分钟加30秒啊,这个是系统默认值,当然你可以对他进行一个修改啊,所以说这个呢,电动的启动的时候的一个工作机制呢,比较简单,但是呢一定要知道啊,OK。这个完事之后呢,下面是数据的完整性这一块啊。完整性这一块呢,其实就是对数据的一个校验啊校验。这校验呢,上面讲的这个奇偶校验呢,只是为了给你说明这个原理哈,你千万别认为这个。Note它存储数据的校验是用的基有校验就乘个零乘个一,那这个校验等级呢,是非常低的啊,基本它你可以看到它底层是CRC。
02:05
CC校验能看到他CRC的一个点CRC文件。呃,这个属于了解一下就行,知道有什么事,他的数据呢是呃,需要校验,而且呢,能保证数据的可靠性。下面这个掉线时间参数设置,这也就是我们传说中的这个十分钟加30秒啊。这个时间你要知道。也就是说,什么时候认为data note彻彻底底挂掉?啊,这是有个时间参数了。好,那下面说一下这个服役新节点啊。分点分心点点呢,正好呢,今天我看那个阿胜同学啊。一点比较好啊。这里面稍微还得再补充一点点吗?呃,这个呢,是服役新节点的时候,我们是原来有。102。103以及104,那么它添加了一台107。
03:00
啊,直接启动了。突然发现没有黑,没有黑的原因是什么呢?在它的name not也是102上,没有配它的主机名称。没有配,记得有个主题名称映射,知道是啥吗?啊,重新名称映射幺九二点幺六八点啊,然后。是1.10。啊,然后后面是嗨度吧,107啊107。啊,虽然说我没有看这个源码,但是我猜也能猜到它应该什么呢,比如说他这个这里面有内到的。这里面是date note,他们之间要通讯,这个没有意义吧,哎,肯定他date note1启动之后,他要向内部note进行上报,那有同学说,那为什么我我只能找到这102呢。记得这里面配置是有一个。哎,里面配置的是不是就内了,哎对,所以说他就能找到这个102,那这个102呢,跟他进行应答的时候,他访问的一定不是IP地址。这个现象来看。
04:01
如果是IP地址的话,他是不是就能找到它是107啊。那他用的什么呢?是主题名称。这是嗨度107,你的主机名称那一发现嗨度107诶。没有这个值,你没有配置。那他就会。找不到他了啊,就会。所以说这块呢,要稍微注意一下就行了啊。这是飞行节点。再往下呢,是这个,呃,复新店完事之后,我再给大家详细说一下啊,之前在其他班也讲在里边呢,我想弱化一下啊,但是有人问了,我这详细说一下是什么意思呢,你服完这个新节点。那我问大家一个问题,这个107上来之后,下次再启动的时候。起不来,那你需要做什么事情,能把它下次来启动吧。Slaves里面是不得配一个它呀,哎,同时你是不是还得要配它的。塞在下啊,必须得无登录这样才能。现那个群体吧,啊群体啊,这是相当于后续的一个收尾工作啊,啊包括你要正常写的话,SYC日后的话,为了方便使用,熟悉的培养。
05:09
啊,所以说有一些收尾工作啊,一个slaves,一个是SSH,一个是我们同步的一个脚本都要配置一下107,这样呢,才能把它编译到这个里面去啊,这是后面说的,但是你要说单纯的。不意这个节点,那你直接启动啊。而且这个配置按照前面的配置一样,那这事就成了啊。呃,目前为止咱们毕业的老学员当中。还没有人去涉猎这个。福音新节点这一块啊,所以我讲的偏少一些。呃,再往下呢,是这个退役旧节点。把旧店退役掉,那这个没啥说的啊,两种方式,一个是添加白名单,一个呢是添加黑名单,但是这里面标准的退役呢是。黑名单啊,采用黑名单这种形式。添加白名单呢,属于这个提前啊。
06:00
提前写好啊,不允许其他哪些节点登录到我这个集群。属于这个安全性的一个考虑。那这个黑名单呢?那就是纯的是啊,想退给谁了?这个推移过程中呢,其实是一个数据的一个拷贝的过程,比如说推105,他把105上的数据。进行啊复制。到其他的这个节点上,其实就是副本的一个备份啊。OK,那下面呢,是这个带登录的多目录啊。懂了要注意的像什么呢?它跟name note懂。的一个区别,什么区别呢?Name note里面的多种数据是。一样的对吧,一样的,那这个呢。它是不一样的啊,只是呢。用于什么情况呢?哎,多个磁盘啊。某一个磁盘,呃,一个C一个D。啊,那也可以配置两个目录啊,C盘用完之后可以再用D。
07:00
呃,再往下呢,是这个继需拷贝啊,继续拷贝集需拷贝这块呢,是这样啊是。这个是对的啊。DSTB。虽然这个描述有点受不。一些礼物啊,我发现后面还有一些同学跟我说了啊啊,非常感谢啊。我呢,上我这来领红啊。只要攒够五个就可以领。因为咱这个日后要出书嘛,所以说一些细节性的东西是不允许出错的。书的去校验,回头呢,我把它打印出这个书的样板是吧,每人发一本。呃,接下来呢,是这个小文件存档这个啊,小文件存档这个呢,是一定要会的啊。因为在这个后续的这个开发过程当中,你一定会遇到小文件如何解决的问题。而且他困扰你。整个这个大数据的开发的过程啊,目前来说解决这个小文件是好多开发呃,程序员的一大痛点。
08:00
这个存档只是其中的。一个很小的一个方法啊。后面还有很多这种方法。那这个一定会啊,就是一个API的操作啊。相当于是什么呢?将这些小文件封装成一个大文件啊。对外呢是一个整体,对内呢,你还可以查看一个一个的文件内容。OK。那再往下呢,这个回收站这一块啊,回收站这一块呢,其实在真正开发中呢,开的也不多啊。原因就是我们很少去删除这个。一般也不会删他啊。都是增加,那这里面呢,稍微注意一下什么呢?哎,这里面有两个参数啊。一个是呢,是设置这个文件存活的总时间,另一个呢,是这个检查到没到这个总总。时间的一个时间间隔啊,如果你不设置它的话,它默认的跟这个总时间参数是一样的啊。OK,那这个呢,属于了解一下就行。再往下呢,这个快照管理啊。
09:01
有精力的同学自己去看一下,或者说呢,在日后的开发过程中,如果说你遇到了说需要快照,那你可以来。来这去找啊,包括我之前给过大家视频啊,你可以看以往的视频也是没有问题的。呃,这是这个,那下面呢,我们来看一下这个MA6。白头发。二六这块啊,前面这些概念都属于这个了解内容啊,了解一下就行,因为在日后的这个15天的时间。一定能把这些透透的了解清楚啊。呃,下面这个MA6的优缺点,优缺点这个呢是要清楚的。主要是在你这个项目。需求讨论的时候啊。技术选型啊。选哪个技术框架,那你要非常清楚,卖六是擅长做什么,不擅长做什么。那比如说他擅长的是MA6,呃,编程比较简单啊,不涉及到这个多个线程之间的一个。
10:01
呃,编写代码。就是简单的一个程序,其实底层已经给你实现了多个线程之间的一个处理哈。有RC。其实。再往下呢,是良好的,这个扩展性性能差了啊,用机器来补嘛。再往下是高容错性。也是一台机器挂了,他这个机器上的任务,它可以自动的去转给其他。机器啊,你。挂了我可以把你的任务啊。转给其他人。另一个呢,是他擅长的是处理这种PB级以上的数据,并且是离线的。数据量一定要大。不大的话,你就别用它了。就是发挥不出,发挥不出他的实力。那真的有点杀鸡用牛刀了哈。下面呢,是这个缺点啊,不擅长这种实时运算。啊,千万别让他做这个双11这个实时滚动这个大屏。做不了。
11:00
他做什么呢?哎,双11这一天他有多少交易额,交易额啊,这个没问题。包括这个这一个月消费了多少,这一年消费了多少,这个他比较擅长。在呢,不擅长这种,呃,流式计算啊,这也是实时处理的,这种数据都不擅长,还有呢,不擅长这种有效图的,所以说呢,一个任务依赖于下一个任务啊,依赖于下一个任。串行度特别特别高。他做完了你才能做,二做完了三才能做,三做完四才能做啊。太擅长了。不是不能做。另一个呢是卖六是核心思想啊,核心思想这一块呢,呃。你主要先有个印象啊,指着你这块怎么透彻啊,也不太可能啊,至少你要知道什么呢。有卖地段。Radio阶段,Map阶段呢,有一个进程叫map test radio阶段有个进程叫radio。并且呢,Map test与map test之间是相互。
12:02
独立运行。radio与radio之间是相互。啊,就差不多啊,因为后面呢,我们会详详细细的去讲这个啊,每一个组件我们都需要自定义的。那这是这啊。开拓这个官方源码这一块啊,只是为了引出下面这个。这个数据的一个序列化啊,也是呢,这个Java的这里面这么多类型。但是呢,我们想对它进行数据序列化传输啊。而且是轻量级的序列化传输,必须对它进行一个封装冲写啊,有。跟这个原来的数据类型的区别呢,就是在原来的类型后面加上了啊。今天呢,我们还会详细的去说这事啊。相关信息说先有印象能。让你把这个word程序。呃,下面呢,这个是外60进程三大进程。
13:00
啊,一定要知道外radio test啊,其中整个任务的一个志愿的老大,那就是。Mr APP master。再下面呢,这个编程规范这一块啊,编程这规范这块呢,开始的时候呢,你可以把这个这些要求先背下来。当你写完这个几个案例之后。我才再来体会他们。你。还是这么回事儿啊,现在的话你可能。呃,理解不上去哈。因为都是一些文字性东西嘛,但是我让你记这个word这个案例,我相信你。把它轻松的搞定哈。嗯,这个是莫斯康的一个这个案例的。分析过程啊。其实这个分析呀。比写代码更重要。写代码就是一个实现过程,需求才是一个高大上的东西。你玩完你去一个公司啊,你要能写需求。你至少是一个项目经理。
14:01
写需求的人都是很牛的。具体的去写代码的人都是。这是真正的马。就是别人已经那个,呃,告诉你啊,你用什么技术啊,大概怎么去实现啊。条条框框已经给你定好了之后你去写啊。那如果你是定这个需求的,要做成什么样啊,这个架构怎么设计,那你就是架构师,就是想。行,那在写这个what count的这个过程当中啊,呃,你们容易犯的错误有这么几个啊。尤其是最容易犯的啊,今天还真有一个人犯了。就是类型转换异常。啊,我先给你们描述一下。现象不是,你不是。不是你班发吧,啊,其他班每个班都有这个问题。呃,提醒一下,我就问你在这,比如说这个map里面运行。运行到这个这一块,突然发现说类型转换异常。
15:01
怎么查?导包啊,导包是一个事儿啊,肯定是一个啊,需要插的地方,如果发现导包也正常。他去哪?啊,明明,而且,而且你明明看到这就是test,这就是这个,而且这里面写的是这个test,这是。完全都正常。这种情况,一旦发现这种情况,90%以上都在哪呢?在它的驱动类里面。启动类里面有一个设置,什么设置呢?设置这个map的输出,设置最终的数据的输出。这两个。那这时候呢,往往你你你这块就容易写错啊。比如说这个这个K,那下面还写的还是K。那你下就完蛋了啊,因为有一个同学怎么呢,半一键这个写完之后看二加下,你复制一行,咔又来一行。
16:00
然后改一下后面这个结果。啊,这个错了啊,还有同学什么呢,更狠,这个卖写完了直接这个是,呃,这个最终输出这个直接也是复制粘贴过来。啊,直接一下粘贴。每个班都有啊,很正常。啊,这个对于初学者来说,这块啊容易出。所以说一定要注意这块啊。再有还有哪一块呢,那像这个这两块啊,这两个他有时候也整不明白啊,直接也是复制粘贴写完这麦下面他就来一下。一定要注意啊,呃,还有一个什么是什么,你们宿舍呢,你们往往会建多个这个工程。建了好几个,而且名字写的都一样,然后呢。这有一个,这有一个在倒包的时候。这里面的代码引的是上一个类里面的包。啊,有这种啊。这个你要注意一下。行,基本上就这么多啊,剩下的这里面具体这个业务逻辑啊,啊,我相信大家没有任何问题啊。
我来说两句