00:00
好,那接下来呢,我们看一下说说我们所谓这个架构,其实这张图就是从官网上抠下来的对吧?啊就是这张图啊,呃,然后呢,它这个架构比较简单啊,就是说首先呢,这个是不是相当于我们的所谓的数据源对吧?这个是数据目的地啊,这个是外部的系统对吧?这个是才是我们当中的,呃,这个组件呢,它叫agent啊,叫agent,然后这个组件当中,其实它有三个核心部件,Source think和中间的什么China啊和中间的China,那source跟think画在这个位置,大家都知道他们俩是干什用的对吧?那你看如果说读取的是本地文件,那相当于采用Linux的一些什么命令啊来采集监控对吧?其实我们就可以用T-F来做监控,那所谓的think呢,Source本身就源头对吧?Think什么意思?下沉。
01:00
人槽,对,就是输出对接IDFS,其实所谓的性当中封装好了IDFAPI,把我们采集到数据通过API的形式给他干什么,写到IDFS对吧?那中间的China它又是干什么用的呢?管道,那这个管道你想一想能想明白它是干么用的,对缓冲的作用,因为有可能源头采集数据跟这个数据速度不对等。那万一你这个速度快,那个速度慢还好一点,至少系统不会崩,如果说他们俩直连,那我S速度快,你剩的速度慢怎么办呢。我疯狂采集,你写不出去,那你这个系统崩掉的对吧,所以它中间做一个缓冲,它里边是有容量的,我先呢传给你,你从这去拉取数据啊,那万一你速度SOS速度快了,那数据先在这再存一会儿吧,对吧,你不可能说一直速度快吧,就类似于假如说淘宝或者京东平台,他可能在下班点,大家在坐地铁的时候经常是刷一刷,那么上班时间基本上这个平台上数据产生的速度就怎么样,就慢了,对吧,那一旦你这边速度慢了,你这边残留的数据,我是不是这个速度是不是保持还是一直一样,因为他对接HDFS跟用户没关系了,我是不是可以把这个数据给他,全部给他。
02:23
写出去啊,对吧,它其实就做一个缓冲的作用啊,所以它这个架构呢,也比较简单对吧,那我们详细看一下啊,第一个所谓A的A着的呢,是一个这边的进程。啊,假如说我们要采集have的日志到HDFSA目录,对吧,前面呢是have日志have.log我要采集这个内容到A目录,那你就把这个相应的东西一配好,启动。启动的那个进程呢,就叫A着啊,当然呢,你得配你读看日志,得配HDFS写到HDFS对吧,是这样的东西啊好,那这就是内容,假如说我还要采集服务本身的日志对吧,到这个并目录,那它又是一个什么。
03:10
加快进程啊,它是面向这个数据,你要面向任务的,就是你要启动一个任务,那你就启动A的就好了,它不需要启动类似于那node node这种后台进程,它不需要。啊,它是不需要的,好第一个进程,那这个进程当中呢,无非就包括三个核心的组件啊,那我们来看一下第一个source,当然了,这里面涉及到很多的内容啊,我们先不具体介绍,因为后面呢,我们要去介绍了啊,这个就是说里面呢,它有很多种不同的类型,其实所谓的一个类型呢,就是对接什么呢。不同的数据源的,对吧?啊,对接不同的数据源的,那这里面呢,就有这个,嗯,那cat你看名字,他从网络其实就获取的是端口数据,好你再看这两个director,然后呢,还有一个这个跳DRR,这两个东西看名字就知道,它是用来采集文件的,对吧?采集文件的也就是说所谓的source呢,里面有很多种不同的类型,就是看你数据源是什么,那就用什么类型就好了啊这第一个啊,好,那大家第二个think think是不是数据落点啊,数据源采集了,通过China将我们数据传输到think ID等等的,但除了ID之外,它还有log。
04:32
Log日志对吧,也可以就log,我们日志也可以配置成打印到控制台,我可以直接将手入输入到控制台,一般这个内容呢,做测试比我们多一些,因为不需要到HBF再去到HBF去看,我直接就打印到控制台,是不是更方便看呢?对吧,做这事的,当然其他的还有输出到文件,输出到什么着solo其他的这有的框架呢,我们可能。没太知道对吧,还没学呢,这个还这边还没讲呢,对吧,这是我们所说的,这就是说它对接的是下游啊好中间的所谓的China就是中间的一个缓冲。
05:08
对吧,那缓冲的地方呢,主要的有,其实主要有三个,但是其实有一个框架我没讲,还有一个是卡卡啊,它可以用卡波卡做缓冲,就是说这两个东西能不能看得懂,那你China是做缓冲的地方,你是不是应该把我sources传过来,数据得存下来啊对吧,它有两个,一个是内存,一个是文件的所谓的磁盘,那他们俩的对比也不用多聊了,内存的那种快,但是呢,安全性肯定不高,对吧?啊,但算了呢,安全性好,但是速度呢,肯定慢一些,你像经过磁盘嘛,对吧,我经过内存,那内存当中一旦我这个任务挂掉了,是不是内存当中数据丢了对吧?啊,那封了磁盘那就不会丢啊,你接着重启的时候呢,数据不会丢,对吧?无非就这样的一个事情啊,他们两个对比,内存跟磁盘的对比啊,肯定比较清楚了,所以呢,这是我们所看到的这个所谓的。
06:05
内容好,最后还有一个所谓的问叫事件啊,事件是个什么东西呢?来看它是说明当中的传输单元,它这样的,那我们数据呢,是sources对接数据源,将数据读取过来,假如说我们对接的是本地文件啊,它是会将一行数据封装成一个事件,然后这里面呢,传输的其实就有事件。整个传输内容就叫事件啊,就是说把我们数据做了一个封装,在SS端进行封装的,然后传给China sing sing呢对这个事件在做解析啊,在返回来,其实它在过程当中呢,它是对我们数据呢,做了一个序列化啊,做了序列化,呃,整个事件呢,有两个东西,一个是头,一个是包底头信息,一个是身体,对吧?啊,那包底信息当中呢,就包含着数据,就是我们要传输的那个数据,在这同信息呢,是为了我们更好的去完成其他的事情啊,假如说我们这个数据啊,它里边还可以怎么玩啊,后面我们会讲到就这个think啊,就是对于这个China,对吧,我们可以这样玩,一个source接收数据,我可以传给两个China,然后这个China也对应一个C。
07:23
因为过来的数据,假如说行为数据当中是不是有点击流数据,有这个订单数据,还有这个什么支付数据,有各种各样的不同种类的数据啊,那我们建表的时候,是不是最好把这种数据都给它分开,因为不同的数据它的格式肯定不一样嘛,那我们上传到HDF的时候,是不是就应该放到不同的文件夹,或者放在不同的文件里边。能懂这意思吗?对吧?好,那这个时候呢,我们采集的它都是放在一个文件里面的呀,我们采集的时候肯定就对接一个文件,然后呢,我们就可以在头信息当中加一些东西。啊,它就自己会根据同信息发到不同的China,然后呢发到不同的这,那既然是不同的,这我是不是可以配置两个不同的ID跟公,对吧?啊,他是做这个事的,同信息呢,是额外扩展信息,但是正常情况下,如果说你不要做这个区分,不做这个分支,同信息当中可以不放东西啊,它是做这个事用的,最重要的是不是包庇信象,因为它是包含着我们所需要的数据本身,对吧,在这啊,这是整个的一个架构啊。
我来说两句