00:00
接下来我们看一下这个idea怎么来用啊,我们已经手动安装完依赖对吧,那其实啊,我们还需要引入其他的依赖用来执行,那首先呢是呃,大家复制粘贴可以,但是要知道为什么要粘这些东西啊,那你看flink运行需要的一些依赖,Flink Java streaming Java client。还有这几个都是咱们日常开发必须要引入的依赖啊。还有。那这个依赖可引入可不引入啊,这是RA,这个主要是什么作用呢?当我们在idea运行的时候,呃,我们也想看你一个web UI,那这个时候你就可以引入这个依赖,但是你创建env的时候,那个API写法就要变了啊。要要用那个带web UI的那种创建方式。那后面这几个是日志的依赖啊,就是方便我们查看一些日志啊。
01:00
再有呢,如果要用RODB,我们还是引入一下DB。呃,需要做缺口po到HDFS,那么引入一个哈尔依赖。再有呢,就是我们刚才讲的,呃,这个fli fli,呃底跟flink的这个呃依赖啊,我们已经手动安装到本地仓库了。在最后呢,是打包插件,那一般来讲看到了啊。一般来讲咱们flink的话,打包插件还是官方建议的什么用这个Sha的插件啊,不要用那个assembly。那在一个作业当中有多个connect的时候会有问题啊?那要睡了就OK了啊。好。那么同样的啊,我这边都是什么呢?Provide provide,因为这些依赖我们在服务器上的环境都是有的啊,没必要再打进JA包里面。
02:01
包括这个咱们即使是手动安装的这个依赖,我们之前是不是已经放到列表下面去了啊,那也就是说环境里面有了也没必要打进去啊,我们就是I idea运行的时候,或者写API的时候要用到。也一样啊。好。那所以呢。我们要干嘛,Run?ADD啊,对吧,我们在default里面找一个application。把这个勾上,包含provide依赖,那因为我之前运行过这个的啊,你看它也会勾上啊。也够呛啊。那接下来运行就没问题了,那这边我只写了一个简单的案例,大家看一下啊。什么呢?常规的什么获取执行环境对吧,那我们是流啊流的执行获取EV常规写法,接下来是用的RODB啊embedded DB stay,并且开启一个什么增量。
03:03
呃,另外呢,我指定RODB的预定义选项为啊,磁盘加内存啊,它自动帮我们设置了一些DB的参数啊,那生产上也建议用这个啊。这个策略啊,这个我就不再讲了,那这一行呢,就设置DB的存储路径,那我。因为如果我们要ID运行的话,这一行是。指定一下,因为我的笔记,我这个电脑啊。呃,用户名是中文的,呃,而且他会用默认用什么C盘UR,然后你的电脑名啊,然后什么路径,呃,Rose DB会用到本地磁盘嘛啊,那到时候会报错说无法创建那个路径,无法创建这个目录啊,所以这个时候我们手动指定一下一个可以创建的目录啊,我放到F盘里边。啊,所以如果我们打包运行的话,这一行就住掉了啊,就或者说指定了就不是这种啊Windows风格了,对不对。
04:04
这是咱们几个说明,那接下来是checkpoint的一些设置啊,像checkpoint的间隔呀,呃,周期对吧,还有精准一次。呃,设置它的存储路径为哈这里啊最最小等待的间隔控制并发啊,失败次数,超时时间啊,持久化到外部系统啊就没了,好接下来是创建一个什么呢。创建一个table页。啊,表的执行环境啊,那接下来就是大家熟悉的跟你在circle client写的一模一样啊,这circle创建两个表,这都是DDL语句啊。那咱们还是用刚才那个,呃,数据生成器作为一张表啊,模拟卡不卡,第二一个呢,就是护体表啊,然后往互地表里面去插啊。OK,那现在路径就link了啊,好,然后就执行一个insert into。
05:00
那就OK了。那我们这样,呃。快速的执行一下吧。我们之前插的地方刚好插错了对吧。那我们现在找一个蝴迪link了,这样。现在没有固flink对不对啊。没有让我运行。这样我顺便把那个。我把UI也打开了,那咱们就是用一个这个。你看用这个local env,然后呢,With web UI这种就是你在idea运行的时候能打开一个web UI啊。我注视一下。
06:08
好,那我们运行了。那如果什么找不到,无法加载,那应该是我这个环境的问题,没事啊。我们重新编译一下。这应该是我设置的问题,都不会自动重新的。啊就就就就,我不知道是按到哪了。啊,不管它了,重新编译完就行了,应该。来运行。好,你现在干等也没用,为啥他也没报错对不对,呃,然后但是这个程序是什么一直在运行,那接下来我们已经设置了,可以看web UI对不对啊,那我们直接来看呗,啊,直接local host默认端口8081啊。
07:14
那你看这就打开了,咱们刚才的这么一个。一个。本地的web UI啊,那么看一下这里是不是一直在运行呢。看一下check泡影。你看都正常在做推索报应。那顺便看一下HDFS刷新。还没生成啊,那说明第一个周期还没完成啊。我路径没写错吧,我确认一下啊。TT who flink啊啊等一下等一下我这写成本地路径了啊,本地路径了,不信的话咱们看一下啊。
08:03
嗯。哦,变成在F盘了啊,你看TP,你看蝴迪flink啊跑这来了对吧。好,这来了,而且它会显示一些乱七八糟的啊,不喜欢我们改一下啊呃,这边写明确指定为HDFS吧,这样吧,啊这样就不会出问题了,那我重新运行。那这个页面得重新刷新了啊。刚启动啊。等一小会儿。
09:00
好,接下来去DFS刷一下。嗯,好像也有问题啊,停太快了。那没有的话,哦,对啊,我这边改了还报错,嗯。我得重新编译一下。我这个不会自动重新编译了,很烦。哦,前面这个都没停掉了,我去有两个同事在运行,难怪有问题啊。停掉啊,停掉都停掉都停掉。
10:06
好,确认都没有了,重新运行。那接下来我们等待8081。好,这就启动了吧。正在执行中的,好,等一小会儿。看一下啊好,这个人做几次了,这一次我们看一下这边并没有报错,对吧,刚才是为什么呢?因为我有多个这个作业在执行,而且没重新编译啊,所以出问题,那你们ID环境正常的话是没有没有没有问题了啊,那么看一下去DFS刷。诶,那么大家看到生成了什么wholink啊,由于咱们之前写错了,搜狗客户端的时候是写到这个test里了,无所谓,好进来T2呢,大家可以看到,诶生成了吧。
11:10
大家看这个文件是什么意思?是ID commit time.log是扩展名,点E是什么版本号?啊。一杠四杠零是一个token啊。那这个我们你看他甚至有什么,呃,我看一下。甚至有pack文件生成的,对不对啊,它是一直在执行的,一直在执行。再说。啊。现在文件数是62个啊,你继续。他现在会追加的。那么直接看这个作业还在源源不断的运行就知道了啊。那这是一个牛市写入的案例对不对?
12:03
行,那接下来我们试一下打包啊,打包运行啊,那怎么打包呢?我们需要改几个地方啊,先把这个做掉。再把这个打开啊,用正常的执行环境。然后呢,把DB注掉啊,或者你指定为。呃,Linux是那种风格那种路径也可以,那其他不用动了啊,其他不用动了,这里已经改成SDFS了,好接下来什么呢,清理。打包。在link里面我make DR一个MY架,用来放架包啊,为了方便,好已经打包完毕,那咱们找到target,把这个蝴蝶DEMO这个包拿过来。上传好,接下来mod model flink1.1 3.6,我们直接提交就好了,那参数我也不变了啊,那我们就用per job的方式来提交,那么大家看我的命令。
13:13
呃,在这里我应该写了一个吧。对吧,啊杠T和旧本,然后C一个全类名就好了啊,全类名应该写错了啊,然后指定一个架包的位置,架包已经上传了,我们直接提交吧。呃,应该是我路径写不对啊。啊,报存没找到啊。假包没找到,哎,不是上传了吗?My just。啊,Flink忽DEMO1.0 flink忽迪1.0杠。
14:04
算了,自己写吧。好,那就blink乱啊杠T雅杠臼吧,然后呢,杠C前那名。在那边我拷一下,然后呢点杠MY架,然后这个夹包。这样就不至于找不到了吧?刚才这个命令哪里有问题啊?MY架。看着我看着跟我刚才敲的一模一样,奇怪的很,那我看一下雅安8088页面啊,刷新。
15:04
呃,之前这个是我们起的那个什么session集群,那现在我们单独提交了一个job啊,允许同时存在吧,啊,这不冲突啊,对雅来讲都是一个应用而已啊,我们打开这个页面。啊,看一下看有没有报错啊,这个方能不能正常执行啊。你看这个保险正常做啊,没有异常啊,作业一切都OK,那这个呢,就是写代码的方式,然后呢,打成教包去提交啊,就简单演示一下。
我来说两句