00:00
呃,来咱们看这儿啊,我们这儿呢,有一个这个4.5.2对吧,叫做这个项目经验之辅组件选型,呃,这个组件选型呢,其实在这儿呢,我们主要选啥?主要选的就是那个S对吧?啊主要就是那个source,呃看能采采S,呃采文件啊,咱们采文件,因为这个咱们目的是采文件对吧?能采文件的source咱们有这样的几个啊,啊eec sport s,然后TDL,那这几个到底有什么样的特点呢?咱们逐一的看一下啊,先说ESECESECS呢,它的特点是什么?特点是我能够去执行一个shell脚本对吧,比如说我执行一个T-F,那它就能够实时的去监控这这一个文件对吧?注意是实时的监控啊,这是它的一个优点,相当于是实时监控,但是它有缺点,缺点是啥呢?缺点就是说,呃,那假如说啊,我再去使用咱们这个ta d s的时候啊,假如说我这个呃执行的命令就是ta t-F,呃,我什么TRS执行ES啊。
01:01
执行ex sa,假如我执行的命令呢,那就是T-F啊,就是T-F,那在正常的情况下,咱们肯定是能够这个实时采集数据没有任何问题,那假如我现在这个sources我出问题挂掉了啊,对吧?那挂掉之后,那咱们是不是得重新启动起来呀,对吧?那重新起来起来之后那相当于什么呀,相当于那个T-F命令又重新执行对吧?啊,那T-F这个命令大家都知道,它只会收集什么呀,新追加栏进来的数据对吧?那在刚才我们跳在这个eec source挂掉的这段时间,我那个数据是不是也会往文件里边写啊,那写的这部分数据它就没了,就采集不到了啊,这有可能丢数据,所以说这个哎是不太好的,那第二一个呢是sport direct resource。啊,SP0DIRECT source,那它的作用是什么呀?它可以监控一个目录啊,比如我这有一个目录啊,它监控,然后呢,它能它的工作原理是什么?是我把写好的文件,写完的文件给它放到这个路径里边,那他就能够把这个诶文件的所有内容是不是一次性采集完呀,对不对啊,但是有一个这样的特点,有个要求什么要求啊,就是只要数据文件放到这个路径里边来了,那这个文件你就不能动了,你不能改名字,你也不能去往这个文件里边追加内容,对不对,那所以这就导致他有什么问题啊。
02:21
啊,就是它的实时性是比较差的啊,也就是他那个相当于我是不是只能把这一个文件写完才能往里边放啊对不对,所以说延迟相对来说还比较高啊,就是不能做到实时监控啊,那之前在呃之前的版本在1.7之前呢,是没有这个TDRS的没有它。啊,那也许只有他和他对不对啊,那我现在也想实现实时监控,那我用谁呢。ETS肯定不行,不靠谱,那所以我们还是用的spling director s还是用它,那你要用它的话,要想实现实时监控,那你能怎么做呀?
03:02
只能怎么做,哎,只能是,诶让这个文件呢小一点。对吧,比如说我十秒钟一个文件,或者是五秒钟一个文件,对不对,完了之后写完之后立马往这里放,对不对,这样一来是不是也能实现这个近似于这种实时的采极啊,啊就可能你那个延迟比较高嘛,五秒钟五秒钟,哎,是这样的啊,也可以这样去做,当然现在没有必要了啊,我们现在有了谁了,有了tellil dear s了,那它相当于是集成了这个和这个的优点啊,形成他们俩的优点了啊,咱们俩优点了啊,那他俩优点都是什么呀,它的优点就是我能够进行实时采集,那它的一个优点是什么呀?哎,我是可以做断点续传的啊,它能断知时断点续传啊,是这样的啊,那呃,相当于它集成了他们俩的优点啊,也就是说我既能够进行实时采集,又能够实现断点续传啊,那所以它现在是啊,咱们肯定用的是这个source啊,啊这个没什么可说的了,好,那接着往下走。
04:02
那在south当中呢,我们有这样的一个by size参数,对吧?By size指的是什么?指的是批处理啊,就是说我往咱们的channel当中放数据的时候呢,我一次性的放多少个对不对,这边是多少啊,这边啊是咱们设成多少比较合适啊啊这儿有这个相关的这个说明啊,就是当我们这个1EVENT啊,一个一个一问的指的是什么,是不是就是咱们的一条日志啊,对不对,当我们一条日志我们大小是1K左右的时候呢,我们这个BA side射程500~1000是比较合适的,它的默认值是100个啊,默认是100个啊,所以说射程500~1000是比较合适的,那当然这个范围其实也不小,对吧,500~1000啊,我600、700、800、900这个范围其实挺大的,那你像这种参数呢,我们确实是没有这个呃,固定的值的,不是说你设成500就最好,设成1000就最好。这都得需要怎么做呀,所需要自己去测试啊,在这儿给大家提供一个范围,对吧?我去测的时候呢,哎,我从500开始,哎,我看一看我现在这个延迟怎么样啊,那500不行,我我调成600再试一下啊,调成700再试一下,哎它是这样的一个不断的哎去测试的一个过程,可能这块呢,你会发现你会得到一个这样的曲线,500的时候是这样,600是这样,哎可能到700的时候,哎,我我延迟反而反而不行了,哎反而这个反过来了啊对不对,你可能就得选一个这个峰值啊,你自己去选就行啊,这样的一个作用啊,这样的一个做法啊,就是不断的去一点一点加,然后去调啊去调整去测试啊好,这是关于BA side,咱们就大致记住这样一个范围,就行啊,比如说500~1000,那行,接下来是关于channel,那channel咱们在这儿呢,采用的是这个卡夫卡channel对吧,那一会儿我们去给大家讲一讲这个卡不卡,Channel到底是怎么去使用的啊。
05:46
啊,那下边有一个注意事项啊。这个注意事项是什么呢?是这样啊,在1.7以前卡for卡很少有人使用,咱们用的多少是1.9.0对吧,那现在已经这个没问题了啊呃,在1.7之前呢,应该是有一个这样的一个bug啊,一个bug,哪个bug呢?就是这个part as鲁米问啊,那这个配置起不了作用啊,然后这个参数它是干什么用的呢?咱们现在还不知道对吧?啊,咱还不知道,所以这个参数你可以先不用管它啊,先不管它啊,你就记住1.7之前呢,我们卡不卡差异都是有问题的啊,是有问题的,那咱们现在1.9肯定是没问题的啊,一会儿我再给大家解释这个参数干什么用的,而且一会咱们会用到这个参数的啊,就刚才解释好了,那这个是相当于对我们刚才这个呃,采集日志的这个录,咱们又做了一个详细的说明啊S,我们为什么选tell drr对吧?那China呢,咱们选的时候啊,需要注意一个事项,就是版本的事啊就行好,那接下来我们看一下咱们文档上这个对日志采集flu的最终。
06:49
充配置啊,那最终配置那就是TS加上卡不卡柴呗,对吧,但是你看这它又加了一个东西,加了一个什么呢。Log inter一个拦截器对吧?啊,那辅录的拦截器大家还能想起来吗?啊,辅助拦截是不是应该是属于source里边的一个组件啊,而且拦截器我能够是不是配置一个拦截器链啊啊对不对拦截链,那一般情况下我们使用辅助母的拦截器可以做哪些工作呢?
07:17
啊,可以做哪些工作呀,咱们使用拦截器啊,一般情况下我们使用拦截器啊,可以去做一些,比如说哎这个呃日志的呃这个过滤啊,就是相当于是这个ETL清洗啊,或者是日志的哎什么分类哎等等的,我是不是都会用到这个辅的拦截器啊,啊在咱们这儿我们也用到拦截器了,我们用的是干什么呢?我们在这儿呢?诶做一个哎日志的清洗啊做一个清洗,我们需要在拦截器当中呢,去干什么呀?去校验一下我们志的格式,因为咱们日志呃正常情况下如果不出错的话,日志是什么格式啊,是一个完整的阶森对吧?啊那所以说我们数据写到hfs上之后,那我交给have,咱们解析的时候就得按照什么解析啊。
08:01
就得按照阶算解析,那假如说你这个日志在生成的过程当中,那可能某条数据出问题了,是不是可能这个数据不完整啊,啊有问题,那也会导致某些数据可能它不是标准的结算,那你后边解析是不是就会出问题啊。那所以说我们在前面呢,先把这个呃接给它过滤一下啊,就是相当于校验一下啊,满足我这个接森啊条件了,那我就给你,呃,就是符合咱们这个校验规则的,那我就给你保留下来,那不符合的呢,我就给你过滤掉啊,是这样的一个作用啊,这是我们这个燃气器的作用。好,那这个就是我们整个完整的配置TS加一个拦截器,再加一个卡夫卡channel啊好,那一会儿我们就照这个去做啊。
我来说两句