00:00
好,那接下来呢,我们要去做这个测试,所以呢,我们要开启这个checkpoint啊,同时最后呢,我们可以用point来做这个事情,对吧?那这样的话,呃,我们用初始化的,初始化的方式呢,我就测一张表吧,因为表太多不利于我们观察这个结果,对吧?所以呢,我把这个打开,把这个打开,只测某一张表就够了,对吧?啊,那我们也同时可以看到我们这张表里边现在有多少张数据。来让它开着,接下来我们要做的事情呢,就是在这边,比方说1.1啊,开启这个checkpoint CK,并指定我们的状态后端。注意这个一定要做的啊,状态后端要指定的状态后端为FS啊,如果说你要用Rose CD,因为在生产环境当中,我们不会用memory啊,不会用内存对吧,虽然它很快啊,或者什么样,它不安全,我们要做point的,或者未来做point就是为了一个安全,对吧?啊,所以呢,是这样子的啊,那这后呢,我们把它这个放在FS啊,如果说用绕DB呢,我们需要额外的导一个依赖,对吧,那我就不导了,我就直接用这个呃,FS大家学到这款的时候,自己可以去想一想一个问题啊,想什么问题呢?一个是memory。
01:20
Memory方式对吧,一个FS,还有一个是RODB,然后DB这三种啊,这三种情况你分别想一想,本地状态存在哪,远程的存在哪儿,可以去想一想。对吧,自己去想一想啊,这个有可能面试的时候问到的,他装状态后端他们之间的一个区别嘛,对吧,可以想一想,那另外呢,我们用这个FS啊,所以呢,我们先因为点set state,然后这边我们用一个FS的一个state back,然后里边要一个地址,要一个string类型就够了。
02:00
对吧,一对零就够了啊,然后呢,我们就HDFS冒号啊,然后哈杜甫102,哎,这个地方少了一个协议头。杠杠哈多吧,1028020,然后杠,比方说我们这个呢是G末,反正这个目录呢,它会自己去创建。对不对啊,他自己会去创建,所以呢,我们就这末杠Li。Go。210325啊,然后叫这个名字,然后呢,我们加一个CK checkpoint,反正这个目录呢,你可以写多级目录啊,然后呢,它自己会创建的,这个没有问题,好,那这是。状态后端我们指定好了,接下来呢,我们开启checkpoint,大家也可以想一想,开启checkpoint一般来说我们要指定哪些东西了,对吧,首先要enable吧,Enable pointing啊就开启开启呢,直接这样开启也行,但是呢,它已经过时了啊,他要求我们在里边要传一个参数啊,它这个标记为过时,不是说这个类过这个方法过时了,而是。
03:10
重载的有两个重载的方法过时了对吧,所以呢,我们就可以用第一个嘛,里边传一个inter啊,常用inter时间间隔,呃,生态环境当中呢,一般我们可能设置个五分钟,十分钟左右去做一次啊,防止挂掉这种情况,但是在我们这个地方,我们为了很快的能看到效果,所以呢,我给大家一个五秒钟可以吧,5000。啊,给一个5000就好了啊呃,那这个呢,五秒钟行,那就五秒钟。触发一次checkpoint,然后接下来inv点呃,那这一点我们还可以设置其他的,那其他的配置信息叫get checkpoint con来设置了,对吧?点set,你看一下这里面有很多东西,首先我们可以设置它这个模式,那我们假如说bar对齐的方式,那我们就用executive。
04:04
对吧,一个大概200次,因为点,然后呢,Get checkpoint conflict点,然后我们set,呃,一般来说我们会加一个超时时间,防止这个东西。一直不成功就卡在那不太合适对吧,那我们就给一个超时时间,那一般超时时间呢,我们可以给稍微的久一点,假如说呢,我们给一个十秒钟对吧,1000L这个呢,我们给一个。五千一万啊对吧?好,那这个给个十秒钟,呃,接下来呢,Get take point con点继续我们set啊,那这里边还有一个参数要需啊,你看这个这个东西跟我们刚才调用的enable里边的是一样的,你在写的话就覆盖掉啊,覆盖掉了好,那还有一个我们最多允许同时存在多少个,假如说呢,你可以写两个,可以写一个。对吧,这最大值,然后还有en.get takepoint conflict,点这个地方还有set。
05:01
叫这个是什么东西呢?来看啊,它叫。设置最小的间隔,间隔时间暂停嘛,对吧,那说比最checkpoint好,这个加S了,也就是说在两次check方之间最小要暂停多长时间啊,好,那注意啊,那有同学说这边不是已经设置了每五秒钟出发一次吗?好,那你比方说啊,现在是这样子的,那我们要说一下这个属性到底什么作用啊好,那现在呢,时间线是这样子的,这个是零秒,假如说刚开启的那一刻,对吧,这个是五秒,这个是十秒,好,这个是15。随着时间变,呃,那假如说刚开始呢,我们第一次做的是在这个点,他呢会做这个拆开放。前方的,那正常来说,如果我们没有配置那个最小的间隔时间,第二次什么时候开启,是不是等到五秒的时候开启啊,对吧,假如说他呢,也没有超时,直接坐到这儿,那么第三次严格遵守这样的东西。
06:06
啊,这样东西。好,那刚才我们看到有两个参数,还有两个就是一个呢,我们允许的超时时间啊,是十秒钟,那也就是说第二次我们做这个checkpoint的时候会怎么样呢?有没有可能做到这个时候。因为我给他的超时时间是十秒钟,他可能总共做了九秒,哎,这个是14秒,完成这个乘方是不是可以的,对吧,那同时我们配置了一个参数叫最大。Coner max coner checkpoint对吧,那也就是说同时可以允许存在两个,那么我们按照严格按照五秒启动一个,下一次呢,确实是这个时候启动吧,诶,他可以启动。啊,可以启动是这个意思,好,但是呢,我们最后又加了一个参数叫最小间隔时间,比方说最小间隔时间是五秒钟,那么你这是14啊,不好意思,你下一次必须要在19或者以后才能启动最小间隔时间,那前面我们配置的间隔时间五秒钟指的什么意思呢?指的是两个check泡的头与头中间的时间。
07:15
这个要达到五秒钟,就是我们在enablepoint里面配置的信息,是头与头之间的,而我们后来又配了一个叫mean pass,那就是说中间的最小这个时间,注意它指的是这个上一个的尾跟下一个的头。啊,它指的是头尾之间要间隔多长时间,那其实这个时候呢,永远不会达到同时存在两个小方形的,因为我中间要间隔时间,这个要清楚一下啊,这两个参数不一样,这个指的是头跟头,这个指的是尾和头,上一个的尾和这一次的头,比方说我给他一个三秒钟,哎,给他一个三秒的间隔时间,对吧?啊中间两侧呢,做一个三秒间隔时间,OK,那基本上拆point的这个时间设置啊呃,那你要根据生产环境当中来说,这个呢,我们可能给个呃。
08:07
五分钟或者十分钟,那这个东西要看,假如说你这个状态的大小,需要五秒钟能够保存成功,对吧,需要五秒钟保存成功,那我们就可以给十秒,假如说你一秒钟就能保存成功,那我给一个两秒三秒其实就够了,那跟你生长环境当中这个状态的大小也是有关系,没必要太长时间,对吧,它是一个超时时间啊好,那这个呢,是关于checkpoint的一个配置信息,那另外注意一下,我们在老版本的时候还要设置一个东西,设置什么东西呢?设置它的一个重启策略,新版本现在我们用的01:12就不用设置了,就不用设置了,因为在老版本当中啊,它的一个重启策略,嗯,当然这个时候呢,重启策略用的一大一样的。Strange。
09:00
点,然后呢,是我们应该是一个。这个啊,默认的是他。叫固定延迟重启,这个指的什么意思呢?看里面两个参数,第一个叫重启的尝试次数,对吧?Restar attempts,第二个呢,是delay in double延迟,也就是说比方说这个是三,这个是五,好那么呢,让我碰到异常挂掉了,它会自动重启,注意这个重启是自动重启,跟我们手动没关系啊,手动你要指定的这个,你不需要它自动会重启,那也就是说我第一次重启之后,假如说又失败了,对吧,我要隔五秒第二次重启,哎,第二次重启又失败了,再隔五秒第三次重启,第三次重启如果还失败,那么这个任务就挂掉。啊,我只给你三次重启任务重启的机会,对吧?指的这个意思,好,那为什么现在不用配了呢?因为现在它的一个数值啊,比较合理啊,那在老版本当中啊,我可以告诉大家,老版本当中非常吓人的,你知道前面这个值是多少吗?就一点十这个版本的时候。
10:13
一点十的,有没有同学知道它?默认会重启多少次?有同学知道吗?挺吓人的啊,这个值。我可以告诉大家啊,老版本当中它是。哎,对了啊。蒋总说,对了啊,是int的最大值。Integrity max value。老版本当中默认值是它,那这个太吓人了,所以在老版本当中,这个重启要配的啊,要配的,要不然你这个任务碰到异常之后,它不会挂掉,它一直在重启,一直在重启,那这个就不合适了,对吧?啊,那这个太太夸张了啊,这个呢,我们现在就不用配了,但是我写在这儿告诉大家诶,也就是说如果你用的是呃,更早一点的版本,你一定要注意一下啊,你一定要注意一下这个值对吧。
11:12
好,这是我们所看到的这些东西,那其实关于这个里边呢,我们就配好了啊,一定要注意一下,在生产环境当中,你写任何Li代码的时候,这个都不能丢啊,都要写上啊,都要写上,因为哪有未来不做拆的,不做c point对吧?啊一定要去做的,所以呢,这个一定要去做一下,那接下来呢,我们去打包上传啊。呃,那我把这个呢内容啊打一个包。拍给你。设置了M,就不能同时存在两个。
12:02
Default是零,说明零零的话就不限制嘛。零的话就不限制对吧,零的话就不限制。就允许多个,那不可能是零个呀,对吧,我至少有一个呀,我做长方形的时候,你想一下是不是这个道理。就是你可以自己设置最多有多少个,假如说你的拆放的超时时间设置的特别长,然后间隔时间呢,设置特别短,那同时会存在多个拆换,那就没必要呀。对吧?啊,那么有的车不他做的时候没必要再做其他的了。然后呢,我们这边去做一个打包。这边由于我们打的是一个全量包,所以呢,他会比较慢一点,他会把依赖呢都打到这个包里边,好那这个时候呢,已经成功了对吧?成功好以后呢,我们就可以把这个扔到集群当中去运行,也就是说第二个啊,让它让它with depends对吧?呃,那这个时候呢,我们集群要去开一下,呃,那我就用style模式了啊,我就不开启那个什么雅安了,哎,ID Fi要开一下,对吧?然后呢,我们这边进到这个link。
13:19
杠stand along模式啊,那我们用它来测试一样嘛,U雅也一样的啊,行,那接下来呢,我们先开启这个hdf start dfs.S测试,因为我们的check point是写的HDFS的,所以HDFS得先开一下。然后接下来呢,呃,大家可能也都一样,咱们的三模式集群呢,应该配置的是。这个叫什么高可用的对吧,所以呢,我们还要开启一个UC啊,但至少我这边是这样子的,如果我不开启cable,那我集群是有问题的啊,那我这边至少开启一下,那你要自己知道你自己的配置对吧,都是你自己配的啊,有没有配置高可用,你自己心里应该清楚。
14:03
那有的时候可能我忘了对吧,啊,那忘了的话我教大家啊,你也可以简单啊,怎么怎么去找到,比方说有同学忘了自己是不是刚才用的,呃,那有个很简单方法,你把look给打开呗,对吧,管它是不是高可用的我。开了总没有问题,对吧,你是高可用能用上,你不是高可用,我就多开了一个ZK呗,这个也没问题对吧?好,假如说你要自己确定一下Li com点没对吧?呃,或者说咱们进来吧,进来看一下,你就找这块有没有这个配置信息就好了。你就看你的这个当中有没有这个配置信息,如果有那必然是高可用的,你配了CK对吧,那如果没有这个配置信息,那无所谓了啊,当然你或者说你不想确认,那也没关系,那你就直接把ZK开起来对吧?好,那这个呢,启动启动之后呢,我们B啊把这个集群启一下啊,是class。
15:00
你看我这边呢,是一个高可用的。对吧,要有两个那个master,也就是说所谓的两个master有两个manager。Task,这是task manager对吧。好,那这边呢,集群已经启动了啊,已经启动了HDFS这这么长时间应该开了,我就不去看了,退出有没有退出安全模式啊呃,那这个已经开了,开了之后呢,我们先呃,让他继续点进去吧,啊让他反正慢慢加载着先暂时我们先用不上对吧?然后接下来呢,我们进到哈杜。1102冒号,注意,那有同学告诉我这个link它的一个web端口号是多少flink。来敲在这个QQ群里边啊,它的端口号是多少。弗外部页面的端口号是多少?
16:04
哎,陈总收到了叫什么8081,哎,对了,8081端口对不对啊,8081没有问题啊,那这边呢,我们就进到8081还记得啊,是不是有同学不记得了,不记得了啊,想一想为什么你跟人家差距啊,为什么连个端口号都记不住,有点过分了,是不是好,那这边呢,我起了三个task manager,然后同时呢,这边一个task manager里边我指定了两个lo,所以总共呢有六个slot现在都可用,因为没有任务,同时我们也可以访问一下103,因为我配了高可用嘛,所以103也能够看到这些个信息。对吧,因为我是高可用的,所以102103这个103啊都可以看到这个信息,OK,那接下来呢,我们把这个件包扔上来做测试,对吧。
我来说两句