00:00
现在的时间是晚上的九点半,那么咱们就开始今天晚上的学习哈,嗯,今天晚上呢,咱们来学习一下这个大数据的计算引擎flink的相关的知识,那么我们在整个的大数据的体系当中,计算引擎呢,主要有两个,一个呢是我们的这个10SPA克,一个呢是我们的fli克,那这个10SPARK呢,是我们在大数据体系当中提供的离线计算引擎,所有的4巴克计算都是离线计算,而这个弗link呢,它是属于我们在大数据体系当中的实时计算引擎,而所有弗林克的计算都是属于真正的什么实时计算,那么了解到了什么这两种计算引擎的特点以后呢,那么就可以为我们以后的技术选型做一个参考,那么也就是说大家呢,如果在以后的场景当中,你要执行大量的离线操作。
01:00
推荐使用咱们的斯巴课,反之推荐使用我们的福令课,那么关于这个斯巴课的知识,赵老师呢,也会在后续课程里面单独的来给大家进行介绍,那么今天晚上呢,重点来给大家介绍一下我们的复听课,那么我们在上课的过程当中会给大家记录这样的一个什么课堂笔记,那今天晚上呢,着重给大家介绍以下两个方面的知识,那么咱们首先呢,需要对整个的大数据的生态的体系要有一个基本了解,那么在这个生态圈体系里面,它包含很多的组件,那么这些组件主要是为了去解决什么问题呢?主要是为了解决数据的什么存储,包括数据的什么计算,那如果说你把握住了数据存储,还有数据的计算,那么我们就把握住了整个大数据的最核心的问题,那这里面呢,主要包含三大生态圈系统。
02:00
首先第一个呢,是我们的嘛哈都生态圈,稍后呢,我们来给大家介绍这里面包含哪些组成部分,然后呢,第二个生态圈是我们的嘛,这个18课生态圈,然后呢,我们的第三个部分,那就是我们的嘛,这个弗林克生态圈,那每个生态圈体系里面都包含很多的组件,那么当然除了这三大生态圈组件以外,还有一些其他组件,稍后呢,咱们一一的来给大家进行相关的介绍,那么的基本的知识以后,我们将会在第二小节里面重点讨论一下,到底什么是f link课,那么通过咱们刚刚的介算,咱们了解到弗Li克呢,它是属于什么?它是属于大数据体系当中的什么实时计算引擎,所有的弗link计算都是属于实时计算,当然这个地方咱们首先就会以到它的什么官方的网站上官网上去看一下。
03:00
到底什么是我们的弗林克官方网站上,它是如何解释的,那了解到基本信息以后呢,那么咱们将会通过什么DEMO的演示,嗯,让大家对我们的flink呢能够有一个感性认识,嗯,那么通过使用咱们的link呢,能够去执行我们的什么这个P处计算,那么咱们可以把这个什么P处计算也叫做什么,也叫做咱们的离线的计算,但是注一下,Flink当中并不存在真正的离线计算,所有的flink计算都是我们的实时计算,好,我们将会给大家演示我们的第二个事例,那么就是呢,我们可以在我们的弗link里面呢,就执行我们的什么理由处理计算,那么理由处理计算也可以把它叫做什么就个实时计算,并且呢,弗丁NK呢,它还是一种真正的时计算,那当然我们在整个的大数据的体系当中还提供了什么,各种各样的。
04:00
什么这个数据分析引擎,那通过使用数据分析引擎,那么就能够使用标准的什么C口语G,那去处理我们的大数据,比如说我们在弗link里面呢,它提供了我们的嘛,这个弗link scom, 那弗link s呢,它就能够把一条S口与据转换成是我们的福林克的任务呢,运行在我们的福林克集群之上,那有了这种方式以后,大家以后呢,如果你要在大数据体系里面呢,处理这种结构化的数据,直接写一条C口L语句,那么就可以了,当然我们将会来给大家演示最后这个事例呢,就是我们能够把我们的分link呢,部署在哪里呢?部署在我们的这什么docker或者是我们的K8S当中,那么docker和K80呢,它是属于这个云原生体系当中的容器,对,通过把你的大数据的计算引擎,比如说你可以把你的18g,或者呢把你的弗林克。
05:00
部署在docker和K8S当中,通过使用这种方式呢,我们能够去集成我们的大数据的体系呢,还有云运算体系,但是呢,需要注意一下,尽管怎么可以这么进行操作,但是呢,在我们实际的工作当中使用的更常用的一种方式是什么?是我们的f income on我们的样,那么这种on ya的方式是目前我们在大数据体系里面呢,运行各种计算任务的什么主要方式,那比如说你的什么,你的map producedu是on ya, 你的Spark on ya, 你的flink on ya, 重复一遍on yament的这种方式是目前呢我们在大数据体系里面呢,最主要运行任务的方式,而这个yama呢,它是属于哈都普体系当中的一个组件,稍后呢,咱们来给大家进行相关的介绍,那因此呢,通过咱们这个地方的DEMO的也是相信呢,大家就能够对我们的flink呢,能够有一个。
06:00
感性的认识,为大家后续的什么呢,进一步的学习好奠定一个基础,好咱们现在呢,咱们就按照这样一个顺序来给大家进行相关的介绍,好首先咱们看一下第一个部分,大数据的什么生态圈系统,当然一个呢是我们的哈杜普生态圈,那尽管目前我们在大数据的体系当中,哈do普当中的部分组件使用的就比较少,但是呢,它依然是我们在大数具体性里面呢,非常重要的一个组成部分,大家后续如果说你要系统的去学习大数据的知识,第一步呢,还是需要好好的去学习一下,到底什么是我们的哈豆,通过咱们的哈杜普呢,主要去构建我们的什么离线数据仓库,当你把离线数据仓库部署好以后呢,你能够处理离线数据,包括呢,计算和处理离。
07:00
数据,那这个里面呢,它提供了哪些组件呢?先给大家列举出来,比如说嗯,有我们的HMDFS,嗯,还有我们的什么一样还有我们嘛h baseman, 还有我们的嘛,Have, 对,还有我们的嘛,这个猪keepeper,包括了我们在这个哈豆里面呢,还提供了我们的ETL工具,比如说我们的么s group, 还有我们的么,这个最后的这两个呢,S group和呢,是我们的ETL工具,那么通过使用ETL工具呢,能够去采集数据的数据,那么我们目前啊,在它都普生态里面呢,主要就提供了这些组件,当然并不是全部好一一的来给大家进行解释,每个组件的功能和作用分别是什么啊,那么首先第一个呢,就是我们的什么这个HDFS,那么这个HTFS呢,它是属于这个它都普当中的分布式。
08:00
文件系统,那么你把它看成是一个网盘就可以,那么它能够以这个什么文件的方式解决海量离线数据的存储问题,因此呢,它主要用于去构建我们离线数仓,大家后续呢,你在学习哈多的时候,第一步呢,就需要去学习我们的HDFS,当然通过使用咱们的flink呢,也能够跟我们的HDFS呢进行一个集成,通过使用它里面的什么用程序能够直接处理存储在HDFS当中的数据,来处理咱们的什么离线的计算。好再来看一下我们的第二个组件,那就是我们刚刚提到的什么提到的这个yam yam呢,它是属于这个哈杜普的2.0版本,以后要注意版本啊,1.0你没有啊哈杜普的2.0版本以后呢,提供的一个这个资源和任务的调度平台,那么目前啊,On压的这种方式刚刚提。
09:00
提到是我们目前在大数据体性里面呢,主要调度任务的方式,比如说你的这吗,你的马produce on am SPA克on am, 还有我们的弗林克昂,那么当你把哈杜普安装包部署好以后呢,这个HDFS和亚呢,这两个部分就已经集成安装好了,那么除了这两个部分以外,哈杜普生态当中的其他的组件,那么都需要单独的安装好,再来看一下我们的第三个,那就是我们的什么这HBA,那么首先大家需要知道这个HBA呢,它是一个什么呢?它是一个我们的low CQ数据库,包括你什么mango DB约的是一样也都是low西口数据库,而我们可以把这个什么low西口的数据库划归到我们的大数据的体系当中,因此要重复一遍,大家后续如果说你要系统的去学习大数据的技术呢,需要去学习我们的C课,到底什么是HP呢?它是基于H。
10:00
去DFS之上的一个什么列是存储数据库,那既然它基于HDFS之上,你在HP里面,你去创建一张表,表中的数据最终都将以目录和文件的形式存储在HDFS里面,并且呢,它还是一个历史存储数据库,历史存储数据库非常适合执行我们的查询语句,构建我们的数据仓库,那你传统的关系型数据库,比如说你的orcom my CQ呢,都是属于我们的行式存储,行式存储的关系型数据库呢,主要适合执行我们的插插入、更新和删除,来执行我们事物相关的操作,比如说我们在下一个话题里面,下次直播的时候呢,会来给大家讲orcon,对,Or呢,就是一个行色存储储据库,它主要呢,用于咱们到什么o lap的应用场,Lalap的什么应用场景当中。好,再来看一下我们。
11:00
加M的一个,那就是我们的hi啊,那注意我们在哈豆里面呢,它提供了什么,提供了两个数据分析引擎,那数据分析引擎大家以后呢,只要看到了什么这六个字就要反应过来,它是支持我们的CQL语句的,对,那它有两个数据分析引擎,一个呢是我们的嘛,一个是我们的hi文,一个呢是我们的pig,这两个呢,都是属于哈多普生态里面提供的什么数据分析引擎,当然目前的使用pig呢,使用的比较少,主要呢还使用的是我们的him hi给他解释一下,它是什么呢?基于HDFS之上的一个什么离线数据仓库,它支持使用标准的什么C口语均来处理我们的大数据,既然have基于HTFS之上,它支持C口,那么你的have里面,通过使用CQL与dream,你去创这张表,往表里面呢插入数据,最终呢,它将以这个目录和文件的形式。
12:00
Them存储在HDFS里面,并且呢,Have它默认的什么执行方式是什么?是我们的have on, 我们的my producedu me, 什么叫on my produceduce呢?就它会把这个什么把这个C口语Jim转换成是一个my produceduce肉呢运行在hard上,但是呢,在实际的工作当中用的更多的一种方式就是什么呢?是我们的have on Spark, 什么叫have on Spark呢?它就把have的什么执行引擎换成了我们的10SPARK,此时你的have里面你所执行的一条C口语G将会被转换成是一个18课任务呢,运行在我们的48g捷群之上,那后面呢,赵老师呢,也会单独给大家讲到底什么是我们的hi好,再家看一下我们下面的一个我们的猪keepper,好,猪keepper呢,官方的解释是什么?它是大数据。
13:00
嗯,体系当中的分布式协调服务,分布式协调服务你把它看成是个什么,看成是一个database,他配式数据库就可以啊,那利用租keepper的什么选举和监听的机制,能够去解决大数据组成架构的单点故障,实现它的高可用的ha,因此呢,整个的大数据体系里面呢,猪keep比较的重要,并且呢,我们还能够把猪keep呢当成是一个什么注册中心去使用,既然你把它当成是一个注册中心去使用,那比如说我们在docker里面啊,Docker里面呢,你就能够使用我们的猪keepper来实现什么功能呢?实现我们的跨主机的容器的通信啊这呢,我们将会在容器的部分给大家讲docker的时候呢,再单独的给大家进行相关的介绍的,好当家,看一下最后的两个,就是我们怎么这个SCO和flu这两个呢,是属于。
14:00
哈都普里面提供的什么ETL的什么数据采集工具,Group呢,全称是我们的CQ to哈多,它主要针对我们的关系型数据库,比如说我想把acle数据,我想把MYQ数据采集到HTS,那么你可以使用我们的group,而呢主要针对文本类型的日志的数据啊,因此呢,这些组件都是属于我们的哈多op的什么生态圈体系,当然目前哈都op里面呢,还使用的比较多的呢,一个是我们的HTFSM,一个是我们的yam,还有我们的什么haveve,还有我们什么猪keepper啊,这四个呢,依然是目前我们在hard里面呢使用的非常广泛的什么四个组件,那么介绍完了我们的哈配home,那再来看一下我们的什么这个10SPA克,那通过刚刚的介绍,咱们提到了这个10SPA克,它是属于什么?
15:00
大数据体系当中什么离线计算引擎,那么所有的18RK计算都是属于离线计算,它不存在真正的实时计算,这里面呢,主要包含以下三个,什么计算引擎,比如说有我们呢,这个18GCOM,还有我们的嘛,这个18坑,我们的ccom,包括了我们在18g里面呢,提供一个流计算引擎,叫做我们嘛,这个18坑所命对这三个部分共同组成了18g的什么离线计算的部分,首先咱们看一下我们的第一个,那就是我们的嘛,这个10SPARK com, 那么这个Spark com呢,是整个10SPARK里面最核心也是最重要的一个部分,大家学习10SPARK的时home重点就需要去学习到底什么是我们的18课,所有我们在18课中的计算都是属于18课的理线计算。
16:00
但因此呢,它不存在真正的什么实时的计算,那么这个10SPARK CQ呢,它送我们在10SPARK里面提供了一个什么数据分析引擎,通过使用C口语dream能够处理咱们的什么结构化的大数据,它能够把一套什么C口语境转换成是一个斯巴克Z呢,运行在斯巴卡提之上,因此呢,从功能上去说,它跟我们哈杜当中什么have是比较类似的,那当然我们在18g里面还提供那一个什么牛计算引擎,叫做我们的什么18个dreaming,注意呢,严格上去说,只能够叫做流计算引擎,不能够叫实时计算,因为从本质上去讲,这个18个dream呢,依然底层是我们的18个扣的离线计算,它不是一个真正的实时计算,因此呢,我们就不能够把这个什么10。
17:00
到追运,因为实时场景非常高的情况,那一般来讲哈,一般来讲就这个不绝对啊,不绝对一般来讲的话就是我们呢这个秒级,那什么叫秒级呢?比如说你希望3秒钟或者说你希望4秒钟处理一次数据,那你可以使用这个18个均去实现,但是呢,如果是秒级以下呢,比如说我们希望这个300ms或者是400ms处理这数据,在实时场景非常高的情况之下,不能够使用我们的18个追M,因为本质呢,它是一个什么离线计算,那么大家还需要知道一点是什么呢?就是说你在这个18g里面呢,你能够通过集成我们的18CCOM和我们的18追命,把这两者呢集成起来呢,你就能够通过使用C口语句处理我们实时的流速数据,对好这个呢是我们整个18可性里面。
18:00
它主要包含了什么三个部分,但还有其他部分,对好再来看一下我们的弗林克生态圈,对弗林克生态圈呢,它是什么呢?它是我们在大数据体系里面呢,提供的什么实时计算引擎,那么所有的弗林可计算都是属于真正的实时计算,因此呢,它主要用在实时的嘛,实时场景里面,那关于这个生态需要系统呢,放到咱们的第二个部分讲flink的时候,那么再来重点给大家进行相关的介绍,因此呢,目前呢,大家只需要去了解它是一个什么实时计算引擎就可以了,当除了这三大生态圈系统以外,整个我们在大数据体系里面呢,还提供了什么一些其他的组件,比如说有我们了嘛,这个卡夫卡,那卡夫卡呢,它是属于什么?属于大数据的什么消息系统,那通过它能够去构建我们的什么?
19:00
实时数仓要处理我们的什么实时的数据好,除了我们的嘛,卡夫卡以外,比如说整个我们在大数据些里面呢,还提供了我们嘛这个数据弧,通过使么数据弧技术呢,我们能够去构建我们的弧仓一体,比如说蝴的SBG等等,这些呢,都是属于我们的数据弧的技术,因此整个我们在大数据体系里面呢,就提供了很多的组件,通过使用这些组件,最终的目的都是为了去构建我们的离线数仓,或者构建我们的实时数仓,从而呢来搭建我们那种5来搭建我们的o lap的应用场景,因此呢,这些组件也就是主要是为了解决什么我们在数据仓库里面的呢,就数据的存储,还有数据的什么的计算好,因此讲到这个地方的时候,整个。
20:00
今天晚上的第一个小节,那就给大家介绍到这地方,好问一下各位直播间的同学,还能不能够跟得上赵老师的节奏哈,如果说大家都听明白了,也都还能够跟得上呢,就请在咱们的公屏之上,请给赵老师呢回复一个666,或者呢给赵老师呢点一个赞啊接下来呢,咱们进入到第二小节的学型,重点学习一下到底什么是我们的弗林克,那通过咱们刚刚的介绍,我们提到呢,这个弗林克它是属于我们在大叔具体系里面呢提供的实时计算引擎,因此呢,首先我们就到它的这个官方的网站上去看一下,那么在官方的网站上它是如何介绍的我们的这个弗link,对,好,现在咱们打开我们的浏览器,访问一下弗Li克的官网啊,就是弗Li的盲。
21:00
弗林肯点我们的阿尔帕行,点RG,那么看一下在这个官方的网站上,它是如何解释的,我们的这个弗林克,对,首先他说什么呢?他说这个弗link呢,它是一个什么,它是一个framework,它是一个框架,或者说呢,它是一个生态圈系统,这个云呢,提供了很多的组件,稍后呢,我我们来给大家详细的介绍,或者呢,你把这个弗林格呢,看成是一个什么,看成是一个distributed的分布式,一旦看到了分布式呢,它肯定是一个什么,肯定是一个集群,它是一个什么分布式的一个什么processing engine分布式的什么处理引擎,通过使用这个处理引擎呢,主要来进行实时的什么流失计算,当然了它也能够处理离线数据,并且呢,它执行的这种计算还是一种什么计算呢?还是一种是对。
22:00
Comput, 它是一种有状态的计算,并且呢,这种有状态的计算针对两种数据流,一种数据流是我们么?Unbounded data stream, 一种是什么?Bounded data stream, 那么这是什么意思呢?前面的这个unbounded data stream表示的是无边界数据流,它指的就是我们的实时的什么流失数据,而后面的什么这个bounded data呢,它指的就是有边界数据流,它指的就我们的离线的数据,并且呢,我们还能够把弗Li克呢,运行在几乎所有通用的什么集群的平台之上,并且它执行的这个计算呢,都在哪里呢?都在我们的内存当中完成,那么你的内存当中执行计算的话,优点就是执行效率呢,会非常的快,这个呢是它的一个优点。
23:00
缺点就是内存它是一个什么呢?不安全的地方,如果我说我计算到了一半的时候,那么内存突然掉电或者崩溃了,那么我如何保证内层中数据的安全呢?那么在这一点上,弗林克跟斯Spark一样,都是通过使用我们的检查点的机制来实现我们的容错,那么这个呢,我们即将会在系统课程里面来给大家进行详细的介绍,那么呢,这些基本的概念以后呢?那整个弗林克的生态圈体系里面,它都包含有哪些组成的部分呢?好,咱们来看一张图片,对好这张图片就给大家详细的介绍一下我们在弗link的什么生态圈体系里面,它所包含的组成的部分,那么咱们这个从下往上可以把整个的弗Li克的什么生态圈划分成是3。
24:00
层哪三层呢?最底层是我们的什么这个平台层,平台层就说的是你能够把这个弗link集群运行在什么平台之上,你的什么平台之上能够去执行我们的弗link的什么计算任务,你的平台层的支持以后,那上面呢,就是我们的核心层,核心层就是我们弗link的什么执行引擎,所有弗Li克的计算都是由这个核心的引擎它去完成,并且呢,这个核心层引擎是一个什么呢?实行计算引擎啊是这样情,那这个引擎的支持以后,那么我们在弗林克里面呢,提供了两套API,帮助咱们来处理我们的无边界数据流,帮助我们来处理有边界数据流,那么有了API以后,我们就能够直接的去开发程序,不管去开发我们的Java程序,还是去开发我们的这个什么。是嘎纳程序都可以啊,但是呢,有的时候API呢太过于底层,因此呢我们在flink里面就对这样的apim进行了封装,提供了上层的什么一系列library,一系列控,帮助简化开发我们的程序,因此呢,从下往上我们一共呢,可以把这个f link呢划分成是这样的三层,那么接下来呢,咱们就看一下每一层里面都包含哪些组成的部分,首先看一下最底层的哪平台层,平台层是说的是我们可以在哪些平台之上运行我们的福林克的任务呢?首先第一个平台或者是模式是我们的么?Local模式呢?什么是local模式呢?Local模式呢,它就表示呢,我们能够直接在我们的么开发工具的ID环境当中运行我们的福利克斯任务,因此呢,这种模式,或者说这种平台多用于。
26:00
我们的开发和测试,当然你在生产的环境当中,不可能在你的什么开发工具里面运行代码程序,因此呢,我们在生产环境里面呢,需要把它部署成是我们的class的集群模式,集群模式它具体又分成两种模式,两种情况,一种情况是我们的是吧,是单单orange集群,那么这个呢,表示弗林可呢,它它是一个什么,它是一个独立的集群,它不需要依要依赖其他的组件,稍后呢,我们也是试令,就是把它运行在我们的独立运行模式之下,当然呢,你也能跟达芙林呢,运行在我们的yam之上,就是我们的弗林肯on样,那么刚刚提到过这种on ya的方式,也是目前呢,我们在大数据的体系当中主要运行任务的方式,现在呢,咱们就以什么呢,就以这个独立运行方式是大alone的演示。
27:00
讲是当的alone的演示一下,当你把弗林克群群启动成功了以后,它长什么样子啊,对他呢,能够有一个感性的认识的,好,我们这个地方进到咱们的弗Li克的吧,安装的目录下面来对好执行并向的什么这个cast,什么cast,那通过这脚本呢,我们就能够启动我们的flink集群,把它运行在我们的什么独立运行模式之下,那通过打印输出的信息,大家会发现,当你启动弗林克矩行的时候,它会启动两个进程,分别是它的主节点和它的重节点,因此呢,整个弗林克集群呢,将会是个什么结构呢?它将会是一个主从的架构,那么我们在大数据的体系当中,那么这些核心的组件,比如说你的HTFSHP斯8g、弗林克都是属于主从事架构。既然。
28:00
但他们都是属于主从式的架构,问一下各位直播间同学,你能不能够告诉一下赵老师这种主从式的架构,它所存在的最主要问题是什么呢?如果说大家知道的话,就请把它的问题呢发送到我们的屏上,如果说大家不知道了,就请在我们的公屏之上回复一个0,或者给赵老师呢点一个赞,好让赵老师呢能够知道,大家都还能够跟得上赵老师的节奏,那么这些知识都是我们后续你在进行系统学习的时候需要重点掌握的什么内容?好,各位同学能够回答一下赵老师的问题吗?啊。好,咱们接着讲啊,那那这种主从式的架构,就像它的主要问题是什么,它存在我们的什么单点故障问题,因此呢,我们在实际的什么生产里面,就需要使用刚刚提到的什么那个猪keepper来解决单点故障,实现我们的高可用的ha,那这个呢,刚刚都提到过,好,当你把整个弗link集群启动起来以后呢,它给我们提供一个什么图形化的界面,是它的仪表盘端口号是什么,端口号是我们呢这个980808180808081,通过访问什么数组机的8081的端口,我们就能够打开这个弗link呢仪表盘的工具来监控我们的弗林克集群,如果说你有一个计算任务呢,运行在集群之上,你也能够通过现在的仪表盘监控。
29:52
到任务的什么执行的状态,因此呢,大家现在看到的什么这个弗林克集群就是运行在我们的么?这个独立运行模式之上,那那当然了,我们在部署整个flink进行时呢,还有最后的一个模式或者平台,就是说你能够把它运行在我们的么cloud模式下,就是跟你的什么云原生,比如说跟你的什么docker或者是K8集成在一起,如果说你把你的分坑或者说Spark克呢,部署在dock com和K8S当中,你就把我们的大数据体系跟于约生的容器集成在一起,那在现在呢,也来给大家演示个势例,看一下如何把我们的弗林克集群部署在多克的ma容器当中,好打开我的新的一个迷你行的窗口,连接到我们什么docker的什么服务当中去,它连接上来以后呢,首先咱们需要去。
30:52
嗯,看一个什么配置文件,为什么看配置文件呢?因为通过咱们刚刚的讲解提到弗Li克呢,它是个什么结构呢?它是一个主重结构,它会有主节点,它也会有什么重节点,那么你要把它运行在多块当中的话,我们就至少需要启动两个容器,一个容器运行它的主主节点,另外一个容器呢,运行它的什么重接点,那么我们在docker里面呢,提供了我们的容器编排的工具,就是我们的docker compose, 它的功能呢,跟K发是一样,通过使用它能够使用一个描述文件来管理一个复杂的应用程序,而这个描述文件就是大家现在看到的什么这个分多comp.yml文件,那么我们在这个描述文件当中就描述了一下,你通过什么镜像的创建容器来运行弗link集群的什么?
31:52
这个主节点,那那通过什么镜像又来创建容器,又来运行我们的弗林克的什么重节点,通过它你就能够把我们的flink集群运行在多的什么容器当中,那么这个描述文件呢,并不复杂,看看你们怎么怎么去写的,那它里面呢,主要定义了什么?两个service服务,那么每个service呢,分别代表flink集群当中的一个组成部分,首先some面的什么?这个Service是我们的嘛,这个job manager它将对应到do那个容器,它来运行我们的Li的什么主节点。好,我们使用这个镜像创建容器运行flink的什么主节点,以同样的方式,我在使用这个镜像创建第二容器来运行task manager, 而task manager呢,是整个弗Li的什么重节点,它也将运行在一个什么多的什么容器当中,因此呢,通过。
32:52
使用这样的一个什么描述的文件,我们就能够很方便的把我们的弗link集群部署在docker容器里面,当然你也能够部署在K80当中,通过使用这样的一种方式,我们就能够去集成我们的大数据的体系,还有云运体系啊把分呢运行在容器当中,好描述文件总的总总的来说呢,并不复杂,如何去运行它呢?好需要使用咱们docker的什么服务的这个容器的编排工具叫做我们的么docker comp通过使用什么,通过使用咱们呢杠F选项指定描述文件是哪一个,就是咱们刚刚看到的什么,这个描述文件后面的需要写上什么,我们的这个这个我们的up,我我们的这这个我们的up选项,这up呢就表示你把这个描述文件里面呢,它锁定的容器都给。
33:52
移动起来,好,咱们去执行一下我们的这一条什么命令,看输出的这个结果,对好这个地方我们稍微等一会儿,对通过输出的啊这个题啊,咱们这个地方啊,哎呀,看TRLC吧,那后面写个选项,少写的选项,再我们再写上一个刚D的选项,再写一个刚D呢,就表示它的容器运行在我们的后台,但是呢,前台呢,咱们能够执行其他的一些操作,对啊缸地的选项啊这啊什么刚地呢,应该写在咱们的这个,现在应该写在咱们的后面,这缸地好重新创建容器的好看它启动了一个部分,首先它启动了什么两个容器,一个容器来运行job manager, 它是整个flink的什么这个主节点在启动,另外一个容器运行flink的什么重接点,它是么样键,当你看到这种信息它被打印输出来以后呢,就表示我们把刚刚的弗link集群部署在了什么。
34:51
部署在了docker的什么容器当中,好,你再使用什么,使用这个docker compose的什么meaning令查看一下容器的什么信息,那这个地方它将会启动以下两个容器,通过访问输组这个什么8081的端口,你就能够访问到容器内部的什么8081的端口,从而呢,你就能够打开flink的么图形化的仪表盘工具,跟刚刚呢看到是一样的,我们打开一个新的浏览器,访问一下输主机的什么它的这个8081的端口,你将也够能够看到弗林克的仪表盘,但是呢,你现在你所看到的对吧?这个弗林克集群它是运行在我们的多克的容器当中,跟刚刚的那个不太一样,因此讲到这个地方的时候,整个弗林克生。
35:51
平台超底心里呢,所以底层的是么?平台层部署层就给大家讲到这个地方,好问一下各位直播间同学,关于这个部分大家是不是都听明白了,如果说这个部分大家都听明白了呢,就请在咱们的公屏之上,请给赵老师呢回复一个1,或者给赵老师呢点个赞,好,我们接着往下。
36:21
来给大家进行相关的介绍,那么有了平台层的部署以后,那么整个我们在flink里面呢,当然最核心也是最重要的呢,就它的什么,就是它的核心层,不,它的核心层就是什么,就是这个什么run time, 好讲一项flink h ha的配置,H he简单提一下,HM主要依赖我们的猪keepper去实现,刚刚提到过啊对租keepper是整个我们在样大数据体系里面呢,提供的什么呢?这个分布式几道服务,通过使用猪keepper什呢,它的这个选举的监听的机制,能够去实现弗林课集群是吧,Ha的功能,但这个知识呢,在直播课里面呢,讲不到那么细,我们当然会在系统的课程里面来给大家进行详细的介绍,好我们看接着看,接着看就看在看核心层,核心层就是它什么,它的这个。
37:21
Runtime, 那它是一个什么?它是一个真正的什么这个实时计算引擎,所有你在弗丁课中的计算最终都是由这个round time它去完成,因此呢,它整个弗link里呢最重要的一个部分,那么有了执行引擎的支持,那么我们在弗link里面呢,提供了两套API,一套API叫做我们的什么这个data set API, 通过使用data set的API能够处理我们的离线数据,而另外的的一套apim是我们的什么data,他swimming API通过使用他能够处理我们实时的什么流失数据。当然了,你可以去开发你的Java程序,或者去开发我们的sky skyva程序都可以,当你把flink集群安装部署好以后,它提供了什么这样的一些操作的事例个example帮助我们来执行我们的应用程序。因此。
38:21
那接下来呢,我就演示一下诶,如何通过使用什么这两套APM分别来执行我们的P处理的离线计算,或者来执行流处理的什么实时计算,首先咱们看一下如何通过使用对他set的API进行P处理的离线计算呢?我们去直接处理什么处理我们的处理HDFS么数据,那么我们事先呢,在HDFS之上放了一个文件,文件里面呢包含有什么三句话,通过执行fli的什么对设API处理这个文件当中每个单词它所出现的频率,那么这个呢,就是我们的单词基数程序首先呢,咱们去把我们的它都不能什么。
39:12
HDFS去给它启动起来啊,启动起来好,我们在咱们接下来启动一下,HDFS是start特项我们的么?DFF对不对,好起来以后呢,我们去看一下我们要处理的数据,它长什么样子,数据里面很简单,它就包含什么三句话,哪三句话呢,你们看一下,那么当你跑的程序,你就能够把这个数据里面每个单词的频率统计出来,这个呢,就是我们的单词计数的word count程序里对好数据呢,我放到了什么,放到了HDFS的什么呢?这个Input的什么,如像下面呢,有个我们datatime点文件,文件里面呢,就包含有什么三句话,哪三句话呢,分别是我们的I love Beijing京,I love China, 北京,你capital of什么China,那么通过观察我们会发现呢,这三句话里面有一些。
40:12
这单词它是重复的对不对线呢,我们就想将弗link里呢,跑一个离线计算,把每个单词它所出现的频率呢统计出来,在好怎么去执行呢?我们去执行,并下面什么fli wrong指令在它的example目下面呢,有个半的bomb下面呢,有个什么我countt点点加B,它这个加B是官方提供什么实例程序,它就能够直接处理HDFS数据统每个单词它所出现的频率,那你后面需要就要写上我们的杠杠input,指定我们的输入路径,还有输出路径都是我们的HDFS,需要写上HDFS的嘛,全路径好输入呢,是HDFS吗?冒号我们的low cost端COSTS9000在它的什么input目录下面呢,有一个datatime.test文件,那么输出。
41:12
蹲,我也放到HDFS上,通过使用的选项叫做什么杠杠,我们的output的选项,对output呢,写上HDFS嘛,输出路径也必须是全路径啊,HDFS冒汗,我们的什么localho端口是我们的么?9000呃,上面创建的什么flink的一个目录,下面是我们的这个半表示的是一个批出的什么离线计算,下面是我们WC最终升值嘛,这个WC它将会是一个文件统进出每个单层它所出现的频率,当你执行这个任务的时候,提交到集群上以后呢,你就能够在集群上的仪表盘上监控到任务的什么执行的状态,好,我们提交一下我们的任务,提交上去以后,我们去刷新一下。
42:08
刚刚的什么这仪表盘的工具,你稍后呢,你就应该能够看呢,你任为什么执行的状态,你整个我们在弗link里面呢,它是基于内存方式执行计算,因此呢很快呢就会计算完成好这个地方呢,我们去刷新一下我们的这个什么这个样的一个这样的一个什么这样的一个界面,对一个这个界面啊就是啊这这个这个界面啊这个界面啊这个你看你看我现在我在我这个集群之上,我是不是很快就运行完那个任务呢,这个任务呢,就怎么刚刚什么单程基础程序,很快的就变成我们的非练习状态,与为它是什么基于内存的方式执行计算的,好现在你的结果当然也被写回到了什么HDFS上,看它统计结果长什么样子,对,当然就是我们在HDFS上的吧,这样的一个就这个文件啊,就是这这个文件啊,这是这个文件,看一下文。
43:08
这的内容是什么?对,好,我们去执行一个HFS操作,HDFSHMDFSDFS刚cut看一下我们在HDFS么flink的目录下面呢,半下面呢有一个WC,这个呢是一个文本的一个文件,对通过输出的什么信息,它就把刚刚输入数据当中的每个单词的频率给我们什么统计出来了,对,并且呢,他还把单词都转换成了什么小写,因此呢,通过这样的一个呃。通过这样的什么一个小小的司令,那就演示一下,哎,我们在弗林克里面呢,如何执行我们的P处理离线计算,现在学习大数据还有用吗?当然有用了,当然有用了,那么好,那们接着往下面去讲啊,啊接着往上面去讲的,当然有用了,当然有用好刚刚咱们演示的这个设例呢,是一个P处理的离线计算,当然我们在flink里面呢,还提供了另外一个模块啊,另外一个APM叫做我们的什么对他swimming米API,通过使从用这套API呢,你能够执行真正的什么流失计算,对,并且呢,我们在弗林克当中的流式计算,它是一个什么,是一个真正的什么实时计算,它能够用于实时场景非常高的情况之下,第二好,我们也来给他演个实例,通过使用我们的data塔说明一篇呢,也来执行一个单词技术,我们通过网络发送一个消息数据过来,然后呢。
44:45
那实时统计这个消息数据里面每个单词它所出现的频率,那么你这边发什么,我这边的统计什么,对,那这呢,也是他提供的一个什么,提供的一个事例的程序,对好们切换到我们的什么实验的环境,当去我去开启什么两个命令行的什么窗口,首先我在什么,我在这个右边的什么命令行窗口里面呢,我需要先去启动一个什么消息服务器,那么这个消息服务器呢,它叫做我们嘛,这na card的,那么这个那呢,它是一个什么,它是一个网络测试工具,当你安装好了Linux以后,它就有了,那通过使用这个网络测试工具呢,我们把它当成是一个消息服务器去使用,那它来发送消息,然后呢,被我们左边的应用程序捕获到,你这边发什么。
45:45
我左边我就实时计算统计什么,再好们先在我们怎么右边窗口里面去把这什么拿着卡去给它启动起来,再总起来再好,NC-L-P1234表示呢,它运行在我们的1234的端口之上,它消息服务器启动起来了的,我们再在什么我们的这个左边窗口里面呢,去把这个实时的计算呢,去给它跑起来的,执行be下面的什么Li,我们的run执行example下面的嘛,Stream下面的嘛,Sock it window or comfort点加包,那这个呢是一个什么,这个呢是一个窗口计算,窗口计算它是属于实时计算的一种特殊情况,它会把落在时间窗口里面的数据做个统计,那你不是需要接收消息数据吗?通过什么什么杠刚破的参数。
46:45
指定端口是命1234米,那因为咱们这个地方呢,没有指定主机,你不指定主机,默认就是当前的主机,好把它跑起来,抛起来以后需要注意下啊,作为实时计算来说,只要你不人为的退出用程序,它永远将会是我们的running的状态,因此呢,你在这个仪表盘上将会看到它的状态呢,永远是我们的什么状态好,这句话呢,重复一遍,所以实时计算来说,只要你不人为的退出应用程序,它的状态永远是卵脸状态好,整个环境启动起来了,对不对,我在在我的什么右边窗口里面,我来发送一条消息的数据,比如说这边什么I love, 什么北京and呢,Love China, 一旦这句话它被发送出去了以后,他就。
47:45
会被左边的应用程序捕获到,捕获到以后呢,时神统计这一句话里面每个单词它所出现的频率,那么你这边发什么,我这边我就统计什么的,好,现在呢,我去把这条消息数据发送出去,发送出去以后呢,很奇怪的是,我们并没有在左边窗口里面呢看到输出结果,为什么?因为在这个事例里面,他把结果呢写到了弗link的什么日志当中,因此呢,你需要去查看弗link什么日志,我们再打开一个新的一个命令行什么窗口,通过查看Li克日志呢,你就能够看到输出的结果,进到弗link什么日志的目录,下面的M对下面的很多的日志,好,咱们应该看哪一个呢?直接看看什么看tell,对,我们看flink什么,看那个。
48:45
点out的这个对入他是customer什点out的准结好通过输出的结果你是不是看得到,诶我统计的结果很明显,这个结果就是你们刚刚发送什么做数据,好我们使用这种方式吧,对我使用什么T,我们使用跳杠F啊跳杠F呢,就表示我实时查看最新写的什么数据,他停在这个地方呢,好这个停在这个地方呢,它实时查看我在这边呢,我就来发送我的什么,在发送个什么消息的数据,比如I love, 什么lovelo,什么北京,那你那这个消息它被发送出去以后呢,它也会被左边的程序捕获到,统计结果呢,也会写到我们的日志文件当中,好这边发送出去,看看这个窗口的呢,有没有实时统计出来,咱们这个个地方I出现什么,就一次,北京出现一次,拉不拉也出现两次,因此通过这样的一个非常简单的事例,那么。
49:45
我们在整个的分科里面呢,就利用了我们的这套APM,叫要做我们什么,对于他们swimming API呢,进行了我们的一个什么流处理的什么实时计算,因此呢,这两套apim就给大家介绍到这个地方,好问一下各位直播间同学们,关于这两套API它的功能和作用大家是不是都听明白了,如果说都听明白呢,还是跟刚刚一样,就请大家在我们的公屏之上回复一个1,或者给赵老师呢点个赞,好,咱们接着往下来给大家进行相关的介绍,那么有了这个什么,嗯,有了这个API以后,咱们是不是就能够去开发程序了,开发Java程序,或者开发我们的skyva程序,但是呢,直接调用APM,它太过于底层,因此呢,我们在flink里面呢,就对这样。
50:45
跟APM进行了封装,提供了上层什么library控帮助,怎么它简化咱们用程序这个地方呢?重点介绍一下我们的这个flicom c com, 通过使用flink c com, 既能够处理实时的流速数据,也能够处理什么呢?离线数据,它能够跟我们的什么data他set,或者跟我们的data塔SIM呢进行一个集成,为了这种方式以后,你在flink flink里面呢,就能够通过使用标准的S口的语境来去处理我们的这个什么这样的一个大数据啊大大数据,好,我们简单演示个事例,我们在弗林格circleq里面呢,我们去创建一张表,把表呢存储在HDFS之上,然后呢,往表里面的插入数据,查询数据,而你执行的什么C口L语据也将会被转换成是福音课的任务呢,运行在福。
51:45
Li克的什么集群至上,那好我们看一下整个效果呢,先去把我们的弗Li克斯stick克的什么客户端工具去给它启动起来,这个退出群对不对对,好,咱们这边先去执行定一下的什么c code的count的这个呢,是我们这个呢,是我们在弗linknk里面提供的一个什么C口的一个客户端,使用什么使用嵌入方式启动,启动完以后呢,我们就能够去创建表,那你创建的表呢,能够存储在HDFS里面,数据呢,将会以文件形式也存储在HDFS中,当然也能够跟你的卡发卡进行集成,好咱们创建张表吧,可以个么table对,比如说我们是这个这个表呢,来保存这个学生的信息,表呢叫做我们的么student表,结构呢很简单,它包含三个name,一个是ID,学汉加了一个名字,它表示学生的名字呢?
52:45
它是字符串在那个什么A表示学生的年龄的,你这张表我希望把它创建在HDFS之上,因此呢,我们在弗林C口里面,它就提供了什么各种各样的连接性,能够连接你的HDFS或者连接卡夫卡的存储数据,好写上关键证位置呢,你们写上什么connect,通过使用connect的选项指定连接器类型,那么咱们的HTFS呢,是一个什么文件系统,因此呢连接性来是我们的什么FA有s system, 对好把创建出来以后呢,你存储在HDFS的哪个路径上呢?需要通过什么什么pass选项,要去指定创建什么,创建在HDFS的什么哪个径呢?需要写上他的什么他的这个全路径啊,全路径的flin下面的com下面什么student字,因此呢,你在。
53:45
而且你在福Li cql里面呢,你去创这张表,表最终对应的HDFS里面将会是一个目录,那么数据将会是该目录下面的文件,文件格式通过使用什么format选项指定,比如说我们使用什么CSV文件给存储我们的数据,因此呢,通过使用这样这种方式,我在什么,我在这个弗link cql里面,我就啊这上写错了对吧,我的啊CS我啊就少写了个逗号,少写的少写的重新写啊,咱们这样少写个什么,这个地方少写的一个单引号,单这个这个单引号好,这个文件格好,我们就要重新写一下,重新写一下好开我们这个一个table,以为我的这个命令行,我是在网页里面啊,没有办法去粘贴啊,没办法去去粘贴它是丢是对,然后就是表的3个三个列对好那。
54:44
把表格创建出来好通过什么什么关键正位置呢,指定我们的连接器的类型,Connect跟好等于我们的嘛,等于我们的这个方ls system文件系统,然后存储路径需要写上HFS么?它的全路径对好等于什么啊,写单引号引起来HDFS我们的什么冒号写线local host端号9000下面的吧,Fli下的secondcom下面student的好再写上的文件的格式写上我们了嘛,这个format的嘛,格式好我们直接使用什么,使用我们的CSV的存储数据好通过使用这种方式我就可以去把这张表呢去干什么创建出来,创建出来以后你可以往里面的插入数据in。
55:45
In to, 我们的这一张表,这个呢,就是标准的么?CQ, 而你所执行的什么这条CQ语就它将会被转换成是一个弗林克,这个任务呢,运行在弗林克的集训之上,在他我们插入两条数据吧,一号姆名字叫做我们的他姆,年龄21岁,再插入我们的二尔哈姆,年终叫Mary,瑞呢,年龄是20岁。这个语句将会被转换成是弗林克的任务。既然会被转换成是弗林克的任务呢?你就在刚刚的那个仪表盘上能够监控到这个C口,或者说监控到这个任务的什么执行的状态,好数据最终将会以什么CCV的文件格式存储在HDFS之上,你可以到HDFS什么这个目录下看一下它所生成什么CSV文件长什么样子啊,长什么样子?对,既然可以插入数据,当。
56:45
后然呢,咱们也能够去查询数据,而你所执行的什么查询语句也将会被转换成是什么弗林克的任务呢?运行在弗林克的集行之上的数据查询出来以后呢,将会直接显示返回在我们的命令行的什么返回在我们的命令行的什么窗口当中,这个呢,怎么刚刚插入了什么这两条数据,因此呢,通过使用这种方式,那么我们在弗林克C口里面就去创新这张表啊,执行的什么两条c com, 而你所执行的这两条C口L已就它实际上呢,就是会被转换成是什么转换成是我们的弗林克的什么任务呢?运行在我们的弗林克基句之上,看这个两个任务呢,是不是就是刚刚执行的什我们的插入语句和我们的么查询语句,因此呢,通过什么这样的一些DEMO的衍生,相信大家呢,应该对我们的整个flink呢,应该有。
57:45
的一更更加清楚了解,后续的话,你可能呢,就需要去开发你的什么ccom,开发你的Java程序,开发你的什么skyva程序,利用link s flink提供的什么各个组成部分,你要进行我们的什么离线计算,包括实时计算,对当然整个flink呢,它是属于我们在大数据体系当中提供的什么实时计算引擎,弗Li克呢偏向实时,而我们的十巴克呢,偏向离线,那关于18课的知识,赵老师呢,也会在后续课程里面单独的来给大家进行相关的介绍,好有从我们介绍到这个地方的时候,基本上呢,今天晚上由这个赵老师要给大家介绍知识呢,大概就是这么多哈,好,咱们现在的时间是晚上的10:28,赵老师呢,10:35下播10:35。
58:45
下播。
我来说两句