Flink-Standalone模式提交任务|配置Slots大小

并行度设置

其中keyBy不能设置会报错,因为keyBy不属于一个常规的任务算子,不需要做计算,只是做一个规则匹配,按照字段第一个进行合并,其他的算子都可以用setParallelism()进行设置并行度(为一个任务的subtask的的个数)
在这里插入图片描述

将流式计算的WordCount进行打包

如果遇到错误可以更改一下maven的版本,与自己版本相对应进行打包

在这里插入图片描述

上传Jar到页面任务中

在这里插入图片描述

任务提交

在这里插入图片描述

查看任务状态

这里的任务只是一种提交的状态,并没有真正的启动任务,当资源不够会一直转圈圈(其中parallelism为任务的并行度,keyby为hash不在任务中)

在这里插入图片描述
程序一直created,表示slots资源不够
在这里插入图片描述

最后将会失败(提交任务时 先要将nc -lk 7777 打开 不然会直接failed)

在这里插入图片描述

重新配置slots

停掉flink

在这里插入图片描述

进入到conf目录下修改flink-conf.yaml,并分发

在这里插入图片描述

启动集群提交任务

在这里插入图片描述

测试

在这里插入图片描述

小结

测试可得,若任务并行度为1 slots为1 task为2 ,则任务也会提交成功,虽然只有一个slots 有两个task 但是这个slots会进行共享,但是如果task中的并行度为2时 任务提交将会不成功,由于默认情况下,Flink 允许子任务共享 slot,即使它们是不同任务的子任务。 这样的结果是,一个 slot 可以保存作业的整个管道。而Task Slot 是静态的概念,是指 TaskManager 具有的并发执行能力,如果task中的parallelism并行度为2时,slot并不具备这样的共享

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章