00:00
安装完毕之后,我们来尝试着通过STEM差管理我们的flink应用啊,那我们这边的事例呢,是放了一个最最简单的flink写的word code啊这么一个案例,那这个案例呢。我们简单瞅一眼这个代码啊,就很简单,通过socket去读取数据啊,然后呢,做了一个Fla map压屏啊,切分啊,然后往下游发送,发送完拼接成一个二元组单词对吧?啊然后呢,后面给一个一。后面在K再sum一下就完事了,这个代码非常非常简单,应该是大家初学flink的时候都写过了一个代码,对吧?呃,那我们现在就是想通过一个什么模式呢?呃,比如说你在你的本地,比如说是idea。啊,你写的一个flink程序。那正常以前的步骤我们是把它打成一个架包。对吧,打成架包之后,我们是放到我们的服务器上面是执行什么。
01:06
Blink run。提交是吧?啊,那这中间呢,我们又要做一个打包,又又要上传,上传之后还要执行提交命令啊,这是传统方式,那现在通过string差我们可以怎么来实现呢。呃,这是一个string差平台。那怎么获取到我们的代码,哎,我们企业里面是不是有个代码版本控制平台啊GI lab。或者GIHUB这种东西是吧,企业内部一般是GI lab。那如果在企业应用啊,我们就将我们的代码推送到git lab。就可以了,那这个时候是差呢,我们只需要配置GI lab地址啊相关配置,然后呢,添加工程的时候,它会自动啊从这边拉取。拉取完它会自动帮我们完成一个构建和编译,啊就B的啊编译,呃,构建就包括了一个编译过程。
02:04
编译和打包。再之后呢,我们在这上面呢,呃,可以通过前端页面点击什么启动。啊,也就是说我们前面的这种什么自己打包自己上传自己提交这些事儿呢。就不需要我们手动去做了啊,我们只需要推送到一个G平台就可以了,那接下来我们来尝试着做一下啊,那首先我们已之前已经有一个示例代码了。来打开让大家看一下。因为我们。是放到了G体啊,因为呢,现在是也是对吧,呃,也没有去搭建那个GI lab啊,没必要啊,那GIHUB呢,因为网速比较慢,那国内的一般是用这个G体是吧,那我上传上来了,那这个代码特别简单,就是一个什么我靠首页。What account?好,回退。
03:04
那接下来我们直接来操作,打开这个stream的页面啊,然后点击工程在这里呢,点击一个六啊,点击下就配置了工程名啊,你随便啊,比如说我叫艾特硅谷啊stream叉啊,就一个DEMO,接下来选择类型。那目前大家可以看到是不是flink可选呢?是B还选不了对吧?啊那个还没好啊。那CVS呢,目前也没得选啊,你就选择GI-GI lab啊,GT也是支持的,因为一些通通都是通过GIGI这个命令和协议去操作和的啊,这是版本控制啊,代码的版本管理,接下来就仓库的地址,我们只需要把这个地址。啊,就现在我们就省略了上传这个过程,对吧,因为我们已经有了,直接来呗。把地址啊。传上去啊。接下来如果你公司内部用的git lab肯定怎么样有权限验证啊。
04:02
肯定是给你分配了一个账号密码啊,那你可以对应的写账号密码,那现在我们是集体上面是公开的一个仓库啊,那就不用写了,接下来分支。啊,如果没有你再等一下啊,再点一下啊,现在有了只有一个master啊,不用选,那po呢,如果你想手动指定其他的po文件也可以,那现在就不用,还有一些构建的参数。呃,就是说ma,呃,Ma命令里边是不是可以指定一些参数啊,什么杠D呀杠P呀那些东西啊啊,那这边我们没有啊,就简单打包啊,好描述啊,你想写就写啊,接下来这就完事了,点击提交。提交完之后,你可以观察到是不是多了一个这个东西,At硅STEM差啊,那接下来呢,可以看到这边的一个状态啊,目前还是一个未构建的状态啊,未构建的状态。
05:01
那如果你把鼠标放在这里,第一个圈圈啊,这个按钮呢,就表示我们去构建工程,我们一点击构建,它就会从我们配置的GI平台,比如说现在是GT对吧,他会将它下载过来并且执行啊呃,编译。打包啊这些工作。那第一次执行的话,可能会时间久一点,慢一点啊,因为我们是刚新装的环境,那它编译是不是得有flink依赖啊啊,所以它还会自动去下载一些相关依赖,那所以我们之前maven的那个镜像仓库,仓库的镜像地址是配了阿里云了,那这样就速度会快一点,那如果你不是第一次啊,就是这些flink依赖已经有过了啊,那你再去拉一些新的代码,新的工程。那速度就会很快来,我们点一下变,然后点击yes。好,正在构建中啊,那么大家可以看到状态变成了一个构建中,接下来我们需要的就是做一个等待啊,那如果你想看日志,点击你看这个按钮变了,变成圈圈了,把鼠标我放大一点啊,鼠标放在上面,你看点击。
06:11
就能看到一些控制台命令啊,你可以看到现在都是在干嘛,下载下载下载对吧,下载对应的一些依赖。那么就稍等一会儿。那可以看到应该是构建完成了啊,那这边的状态就显示一个什么呢啊成功。那如果呀,我们要做一个更新,比如说这个代码我们做了修改啊,要重新构建,重新更新,你就点这里更新。这是一些配置啊。这是更新之前的配置,不是更新代码,那如果你重新提交了一个代码。到G平台上面去啊,那你这边就再次点一个构建就行了啊,那又会重新执行编译打包啊,那么这就是工程模块做的事情。
07:07
那工程已经。构建打包完了,接下来就要去启动对吧?呃,提交这个flink作业,那就切到这个application应用里面啊,点击过来。之后呢,这里现在会显示一些支持flink的一些也是UI能显示一些东西啊,那这边也有。那我们现在要新增一个应用,点击这里啊。加号。加号进来之后呢,我们第一个部署模式。大家可以看一下。那现在是不是我们通过API方式写的就纯粹是flink的对吧?API我们选择自定义的代码。执行模式呢,选择什么?你看支持登的alone,支持雅恩的三个模式,还支持K8S。那job呢,在呃比较新的版本,就是在flink新版本里面将会被弃用啊,在1.15的时候,那一般都是推荐用application啊。
08:11
那比如说我选择application啊,那Li版本现在只有一个对吧,那如果一开始设置这里你配置多个版本,比如说1.12,有1.13.1 1.13.6啊,甚至有最1.14,那这里。应该都会显示,你可以选择将这个提交到哪一个版本去,你看这就是一个多版本管理啊,那现在只有一个,呃,来源。我们是不是选择一个CCD就可以了啊。工程。刚才构建的一个工程是不是选择at硅谷差呃模块,我们这个代码只有一个模块啊,所以没得选啊,就一个应用类型。一个是STEMAPI的,一个是flink,由于我们那个工程里面并没有用到stream的一些API啊,所以这里选择是什么啊,阿帕提的flink。
09:07
炸包啊,就一个对吧,全。这个may是什么呢?May方法啊,就是一个主类名,主类名呢,我们直接拷贝吧。呃,首先是包名。然后呢,那边也考过了。好,那这就是一个全类比啊,入口类嘛,好,应用名称这个以前我们写的时候,是不是在那个eor env.esor里面会传一个作业名称,对吧,那其实就是这个地方了啊,把它传进来。比如说。呃,我们随便吧。呃,Fli DEMO。好。那这个是依赖的加载顺序对吧?呃,一般保持默认就可以了,那其他的可以设置什么并行度啊,还有每个task manager的slot数量啊,都可以在这里去指定。
10:11
还有一个重启策略啊,失败重启的次数。还有什么呢?Po的一些配置。还有一个什么可以配置什么告警,你看这些就是它集成的一些东西啊,还有可以去指定一个内存啊,内存还有。KM的内存选项啊,TM的内存选项,还有可以指定雅安的队列啊,还有一些动态的一些配置。动态配置是什么?就是我们flink提交以前不是杠大地,然后写一个参数名嘛,啊,等于参数值对吧?啊,如果还有需要调整的就那就写在这里。那这个是什么呢?这个就是在main方法里面传入的参数啊,没方法传的参数,那我们这边当前这个应用这些都不需要去设了啊,我们保持默认,然后点击提交。
11:06
提交之后。它这里是不是新增加了一个对吧。Li DEMO啊,加包的方式。那这里呢?添加之后还要我们手动去启动啊,那看这几个按钮,第一个是什么编辑,就刚才那些你可以做一个修改啊,想改就改,那第二一个现在是什么启动应用啊,启动应用在页面点就行。呃,第三一个就是查看它的详细信息啊。再重新映射这个应用啊,然后这个删除好,那接下来我们点的是启动好一点,那其实一点启动就自动帮我们完成了那个flink run-T还有。呃,这个提交命令就帮我们提交上去了啊,根据我们刚才的配置。那这里你看这个按钮又变了,第二个按钮变成了什么,详细信息你点一下。
12:03
啊。是不是running?可以看到他做的一些事啊,完成啊。那启动之后我们还需要点击一个什么,第二个按钮又变了,变成了一个启动应用啊,刚才是启动,现在是start啊,再点一下start。Start大家可以选择打开火焰图支持啊,那一三版本本来就支持啊,那要不要从safe point恢复,这个应该在我们工作中特别常用,对吧?你要更新代码升级代码啊,之前是不是停止的时候保存safe point啊,重新提交的时候是不是要从point恢复啊,对吧?那你这个时候还要传入它的一个。Safe保险路径啊。还可以什么呢?忽略对吧,那这边去掉啊,我不用。应用。这时候就启动了。啊,状态是一个启动状态。
13:03
接下来点击这个小眼睛可以看详细信息啊。那详细信息这里是不是还有一个flink w UI啊,你同样也可以点进来。但是这个任务失败了,为什么?因为我没有开那个so的端口嘛,就让大家看一下效果,那这么一点正常来讲是不是应该跳转到那个沃北UI进去,对吧。那因为代码写死的那个是哈杜162这个主机啊,跟我这个不一样啊,我就不去做这个事啊。我们看看还有什么地方啊,当前你看显示失败啊,这是因为我那个骚的没有开啊,没有开。那这边呢,是不是可以看到一个日志。对吧,你点这个日志。这其实就是牙日志啊,用牙模式嘛,你点一下啊,跳转到了牙页面,这个时候你可以再继续点击什么logs。
14:12
这是历史服务器,但是我哈豆那个历史服务器没有去启动啊。有启动的话就可以看到了。你也可以通过雅安的这个application这个页面对吧,点历史啊,点log,其实就刚才自动跳转这个页面啊,这是一些使用方式啊。你看这样是不是简化了我们整个编译啊打包。啊,上传启动。还有任务的运行状态,还有查看日志等等一系列啊,我们直接全部在页面上点点点就能够完成了。
我来说两句