00:00
呃,接下来我们看一下第二个案例,监控单个追加文件。啊,我们的需求呢,实时监控日志了,然后上传到IDFS,这不就是我们之前说的典型的应用吗。对吧,就监控本地的一个日志,然后呢,上传到。对应的HDFS啊好,那整个的内容呢,其实这个PPT呢,我们可以看一下,呃,Have呢,实时更新的日志是不是放在我们是不是已经改了在这,如果没改的同学还记得在哪吗?探宝对吧,然后是U的啊,当然有是Dollar user啊,就是当然我这个地方是ID硅谷,有可能有的同学它不是用的ID硅谷用户其实叫Dollar user对吧,就是你当前用户的啊,然后里面呢,有个汉点log,如果你没改的话,在那对吧,无所谓啊,其实等会我们节目的数据呢,你随便写一个自己去创建一个都行。
01:03
对吧,啊,只不过用have呢,我们可以等会操作have,让它生成这个日志而已啊,就方便一点啊做这个事好,那接下来呢,我们这个地方主要是我们最关心的应该是的配置文件。对吧,那这个地方呢,我们要用一个ex e source,所谓的exec source呢,它里面其实写的是Linux里边的命令,那想一想我们哪个命令可以动态的监控一个文件,是不T要杠F对吧?啊这样这样事情,然后呢,China我们还用memory China啊,因为它更快一点,对吧,嗯,还有一个。IDF think,我们要用IDF think好,那这个配置文件呢,我们首先要创建,创建完了之后呢,再启动对吧,启动完之后呢,我们去操作have生成日志对吧?然后呢,查看I这数据啊,整个流程呢,是这个样子的,那么接下来呢,我们大家去创建这个相应的一个配置文件啊,那首先刚才我们之前我们就提到过了,如果说你后面要跟ID对接,你不用在这个。
02:10
还当中去配置什么东西,但是对于Linux系统来说,你是不是这些环境得有啊,对吧,啊,我们已经配过这些也看过了,然后接下来呢,我们用它啊叫fire IDF,从这个文件当中到这个IDF,对吧。这礼拜。嗯,这我还是用那个。看一下啊,对,就这里边有东西了,是刚才有一个啊,一个空,应该是一个空格啊,一个空格还有一个啊行,那我们还是到这来去做一下这个事情。ID的啊,那首先呢,我们根据这个内容来做一下,首先这个我是不是可以站过来,就是对于组建的一个声明。
03:05
对吧,因为我们还是只有一个south,一个think,一个China,对吧?好,那接下来呢,我们所要用的是这个所谓的source,对吧?Source,那接下来怎么配呢?我们就不去找这个文档,当然你从文档当中去拿一下也可以,对吧?那我不会不用文档,我们用什么呢?我们从这个地方来找啊,跟大家说一下以后大家用到东西的时候怎么用,因为我们不可能说把所有的组件都去给大家演示出来,对吧?那我们找到ex e source点开,点开好以后,这是里边的配置文件,当然这底下有这个对应的是吧。案例样子对吧,那接下来呢,这里边东西啊,看前面它这个配置信息呢,总共有这些。啊,总共有这些,如果你要用到的时候,是不是说你要去每个都去看一下对吧,那这里面配置文件大家能发现到,它分为两种情况啊,一种这时候是加粗的,一种是不加粗的。
04:01
加粗的表示什么意思啊,对,必须得有的,就是你一定要去配的,对吧,一定要配的,那其实chinas这个是不是最后绑定的时候配的呀,对吧,最后绑定时候配的,那也就是说它必须要有一个类型,要有一个什么命令,刚才我们说了exec source,其实执行的是。Linux里面的命令啊,命令呢,写在这个位置类型好,那这个怎么配呢?这样啊大家看首先呢,我们要配S的一个类型对吧,那首先前面是这样子的啊,这个东西不变。叫a.sources.R1,因为我们组件名字是不是R1对吧,然后我们要配个东西点刚刚我们看是不是要配一个table对吧,配个table好往这一放,然后等于什么呢?来table在这叫什么。Eec对吧,好把它粘过来好第二个位置它还要配一个最基本的配置啊,对吧,还要配一个命令,好那我们打打过来往这一放,前面的东西注意前缀都一样。
05:07
啊,就是说当前A段的里边有很多source,你现在配的是哪一个source对吧?RE1,因为我们声明的叫re啊是根据这个来的他曼的,那我们说了之前用T对吧?F,呃,T大F,一般大家用的定是小F对吧?呃,大F跟小什么区别啊,大F的话,如果说你这个文件出了问题,假如说被删除掉,然后你重新建了一个,或者说被截取了,或者说其他的什么样的,因为我们对这个文件可以用那个单个打一号往里面去覆盖掉吧。对吧,就相当于文件被截取,如果你用小F的话,那这个命令就断了,就相当于相当于自己退出了,而大F呢,它会重新,假如断了之后重新再次监控这个数据,就会做重试,主要就区别在这,好,那我们监控的是这个文件,对吧?那我们拿一下啊,在这个目录,然后呢,下面有一个have点,哎,have.log啊对吧,我们监控的是这个文件。
06:16
啊,见过它啊,那这个所谓的这个S我们就配好了,当然了,我们也可以把这个注释拿过来,对吧,叫描述这个S的一个配置信息这个地方,那接下来按照正常来说,我们可以配拆的,也可以配S,这个无所谓,就是他们配的顺序,只要你把它干什么放在最前面,其他的顺序倒无所谓啊好,那接下来呢,我们配这个China China的话,是不是还是用这个memory China,对吧,刚才我们说了,那我们把这个拿过来就好了啊,Memory China,当然麦China当中也有很多其他的配置信息啊,我们来看一下。点到我们的China位置在后面,China在这,我们默认的用他们俩。
07:00
对吧,它的容量跟这个穿塞的容量是不是一样大呀,对吧,那它是不是最多只需要配一个类型就够了啊,配一个memory就够了,对吧?啊,配个memory就够了,这意思啊,这是基本的配置,只要一个类型,那这两个东西呢,按照光文档当中一个1000,一个100,那我们改了一下对吧?呃,那这个呢,相当于我们的China也平好了,那接下来我们剩最后一块对吧,剩谁啊think啊是think s的话就会麻烦一点了,因为我们要用的是,那我们去搜啊,或者说我们不去那个要找说。搜到这个大的一个标题,来在这啊点开。它上面呢,提供了很多的一个正则,其实都是相当于这个时间,有很多是关于时间的一个表达式,对吧?虽然我们可以在这个里面去用啊呃,那关于它的一个用法呢,有哪些,我们来看一下啊,首先第一个类型一定要有,第二个要给一个什么路径,因为你要传到HDFS那类型,我们说了任何你配ST的S都需要有类型,对吧?那就是说这个路径我们一定要给一下,那它怎么配呢?
08:13
对吧,一样的啊,它是ae.s点什么。K一点类型TB对吧,类似于这样的啊,然后呢,这个地方写的是HBFS,当然呢,应该从这看啊,HBFS对吧,那还有基本的,它必须还得配一个什么。路径对吧,路径的话其实就是说把这个咱们来改一下。诶在官方那啊,呃,叫D y.pass对吧,就是说它这个里边啊,没有放所谓的前缀,就是说A级点,当然不用非得A,就是A人的名字点think思点,然后当前这个think的名字,对吧,他这个前缀少了,其实你在配任何数据的时候都需要加上这些个前缀,它不是说直接把这个粘过去就行了,OK吧,是这样的东西啊,所以呢,我们把这个拿过来。
09:10
这个是路径啊,路径呢,等会我们来写啊,当然呢,我们前面的写一下,嗯,是HDFS冒号,刚刚哈零二冒号,我是九。9870,你们也是9870,我是9820,你们是什么零零啊,这一块呢,我记得我在文档当中给他标红了,看到标红的不要直接粘啊,OK了,不要直接粘,然后呢,我们可以选择一个对应的路径,对应的路径对吧?那基这个其实就是基本的配置,我们先配到这啊,然后接下来最后我们还剩一块,最后这一块配置么。声明每一个具体的配置,最后一个是不是说绑定啊,绑定因为我们只有一套,所以绑定的话在这其实你看一下它对于官方文档当中描述,它这个绑定是放在哪的呀。
10:08
放在当年的think和S里边的,是不是我们都看到有一个China这个平台,对吧,当年的S有没有看到。没注意是吧,来看一下少这边。对吧,那你再看一下这个所谓的绑定是不是跟刚才SS的前缀一样的。对吧,它其实属于soft什么配置信息对吧?包包括think也一样的吧,一个是China斯,一个是没带S的啊,没带S这款东西,那其他的我们还要加一些东西啊,加一些东西,加什么东西呢?哎,我把整个的这个拿过来啊。首先呢,把它路径拿回来,当然这个路径呢,你可以自己随便去改一下啊,我们就一个服务就好了,呃,那这个你看这个干什么事。年月日月日对年月日,刚才我们是不是在官方文档当中看到这个地方还是think。
11:06
前面有这些东西吧,对吧,那你找百分号Y。年对吧,还有小Y呢,只保留什么后两位对吧?啊,那一般的我们连肯定是往大Y啊,外方大Y啊,是这样的东西啊,我们把这个路径先拿一下,还有这个那一看年月日对吧,然后小时啊,再建一层目录,它可以根据这个时间,根据我们监控录好,那下来还有一个东西,我去文档当中拿一下啊,这个当然我们等会把A改成第一啊。有一些是跟优化相关的,那我们改一下CTRL加。H里边的A2,我统一的给它改成A1啊,因为我们这两个任务呢,会同时起,我之前说过,只要不同时起,你叫A2是没有关系的啊,叫A2没有关系的,还有这里边我们取名叫K2是吧?嗯,CTRLH,我们把二改成什么K1对吧。
12:01
只要你不同时起,我们正好也看一下,不是说之前这个配置文件当中已经用了A1R1K1C1,我就不能用了,不是这个意思,如果说你两个钟同时起,你不能加一,如果不同时起你无所谓对吧,是这个意思啊好,那我们看一下加的一些配置信息,第一个。上传后文件的一个前缀。啊,就是说文件呢,他到时候呢,是有这个前缀,本来它是怎么样的一个文件啊,是就用当前的时间戳,用传的当前假如说一个空目录对吧,第一条数据所来的那个时候的时间戳作为它的一个文件名,现在呢,我们给它加一个前缀啊,你可以加前缀对吧,然后接下来呢,这个地方。这一套这是三个,这是一组配置信息,他告诉我们是否按照时间滚动文件夹。就是说这个文件夹我们要不要去更新,就是说还是只是第一次创建了,等会我们测试的时候可能是一个14,对不对,对吧,它小时嘛,等会我们启动的时候可能是一个14,但是他的意思是说要不要后面还要不要生成新的文件夹啊,那处就是需要生成,如果做了就不生成新的文件夹了,在这里面生成不同的文件就好了,是这个意思,好,那什么时候就生成新的文件夹呢?我们有一个wrong value wrong unit,就拼接起来看一个小时,当然它除了小时这个单位之外,我们来看啊。
13:33
就是我们刚才看到的是否滚动文件夹在对吧,它里面呢,有秒分钟有小时比较多对吧,而且呢,他说了它这个东西呢,是要结合着这个NDFS让unit来结合使用的,一个是VALUE6,一个是单位对吧,一个是单位啊是这样东西,这是用来控制是否生成新的文件夹的啊这一套好,那么接下来。
14:04
这个参数啊,呃,说咱们这当中是否使用本地时间戳这个必须设为出它默认值呢是false。在这个位置我们找一下啊,又诶这个在啊,这one是false one for for这个属性干什么用的呢?他说用当前时间啊,他看这。他说用当前的时间代替掉even的头信息当中的时间戳信息,其实也就是说,其实我们现在这个SS啊里面根本就没有这个。给头信息添加任何东西,那没有添加就没有添加呗,那为什么要去替代呢?就是因为我们配了这玩意。因为我们是要他根据时间来生成这个目录的,如果说头信息当中没有时间戳,也就这个是false Apple素。
15:08
他说没有可用的时间出了,所以说在咱们使用这个ids的时候,必须要加上这个处啊,这个是必须加的好,那么接下来这个是刷写的多少意思啊,这最最多积攒到这么多,当然如果说数据来了之后,有数据我也会去刷写,最多我一次写这么多啊,这个意思不是说非得说你发100条数据,他才去刷钱啊,不是这个意思能听懂吗?假如说过了你发一条数据,假如过了我举个例子,过了两个小时了,我非得等100吗?不是这样的,不是在SAS里面卡着,他也会去刷新啊,不是在China,好,那么接下来呢,这个。数据类型啊,数据类型呢,需要给大家叙述一下啊在。这个里边我们看一下C这个啊,这个数据类型呢,它默认的是这个C序列号的一个文件,对吧,那我们要看得懂的,最好改成数据流,呃,除了数据流还有一个压缩流,这是干什么用的呢?你看上面啊,他还有一个配置信息。
16:13
对配置你看这个后面,虽然我们不知道什么东西,那后面跟着都是什么压缩的方式,是不是啊,跟着都是压缩的方式,好,那这里边呢,其实他说了他数据流啊,将不会使用什么。压缩数据也不要配置这个什么,就是这个你也别配了,而这个压缩流呢,它需要设置requests对吧,需要设置必须而且设置一个什么可用的啊可用的。啊,也就是说这里边呢,你生这个文件一般我们不太能看得懂,对吧,所以呢,我们选用这个什么data stream啊,所以刚才我们看到表成了什么data stream啊,其实现在呢,我们也不用压缩啊,也不用压缩好,那么接下来呢,还有一组这一组。
17:02
这一组是用来控制新是否生成新文件的,就上面我们是不是有一组生成新的文件夹呀,那么在一个文件夹当中,我所有的数据来了,我都放到一个文件吗?它也可以放到多个文件,它有三个内容可以控制,只要任意一个条件满足,它都会生成一个新的,好,那么第一个。叫说它单位呢是秒,就每隔多少秒,它就生成一个。啊,指的是这个意思,假如说我过了一分钟了,我还有数据来,我就给你新生成一个文件号啊,等会呢我们可以看一下,那既然我们要想看效果的话啊,呃,我改成30秒,等会呢时间短一点,OK吧,因为还要等一分钟,第二个参数来看跟什么相关啊,哎,这个数据啊,大家看接近128兆,是不是大家比128兆小一点,对吧?啊略小于128兆,因为最后我把两个值为零了。
18:10
啊,128兆后面肯定不是两个零对吧?啊,就接近128兆,就是说假如说你背了30秒,我数据上来的速度非常快,我20秒就已经快超过128兆了,赶紧也干什么,生成一个新的文件啊,就是保证它这个快点小,最后一个啊,最后一个叫肉count的,它呢是根据本事事件的数量来决定是否滚动啊,如果说你配了十,它就十个去干什么。滚动一个文件十个就滚动一个文件,是这样的一个情况,那如果配零,那就相当于禁用,就不按滚动,这里边都一样啊,如果配零就不按时间滚动,配零就不按文件大小滚动,而且这些条件啊,是任意一个满足,假如说我时间到了30秒,但是文件大小没达达128兆,它也要滚动啊,或者说时间没到30秒,但是文件已经到了128兆也要滚动,能懂这意思,任意一个满足都会触发它的一个文件滚动,就类似于大家学的三的什么时候去帮这个内not去合并那两个文件啊,一个小时和100万对吧,这两个是不是任意一个道路他都要去做啊,对吧?
19:23
好,这是这样的,一般的生长环境当中,这个东西我们不会设30秒啊,因为大家想的30秒这个很大量产生小文件,因为你正常的速度说30秒钟128兆数据,当然在高峰期是有这种可能性的,但是正常的来说,30秒根本到到不了多少兆数据,对吧,就产生大量小门店,一般这个东西呢,我们可能配3600秒。一个小时生产环境当中对吧,一个小时一般这样的啊好,这个是我们把配置文件写好。
我来说两句