一、关于slot、parallelism
1.在conf/flink-conf.yaml中有如下内容,显示默认slots、parallelism均为1,我理解的,slots就是可以运行多少任务,parallelism是你让他运行多少任务。
# The heap size for the JobManager JVM
jobmanager.heap.size: 1024m
# The heap size for the TaskManager JVM
taskmanager.heap.size: 1024m
# The number of task slots that each TaskManager offers. Each slot runs one parallel pipeline.
taskmanager.numberOfTaskSlots: 1
# The parallelism used for programs that did not specify and other parallelism.
parallelism.default: 1
3.在8081界面,提交的时候也可以指定
如果8081没有指定parallelism,那么就按照配置文件里的并行度来算。
假设,我在8081界面指定parallelism为2,但是因为配置文件中slots为1,所以,没有足够的资源,会失败的。当我不去设置8081界面上的parallelism,或者给设置成1,那么是可以运行的。
2.在scala代码中也可以指定算子的parallelism,指定的是当前这个算子的parallelism
如果想指定全局的,那么可以env.setParallelism(3),这样算子也还可以设置自己的并行度。
优先级:scala代码设置>./bin/flink -p 2 >flink-conf.yaml
二、命令行运行
在8081界面是可以直接操作的,这里是命令框的操作方法
2.1 stand alone方式
运行任务命令:
./bin/flink run -c com.zgm.wc.StreamWordCount -p 2 /ajar/FlinkDemo1-1.0.jar --host mini1 --port 777
关闭任务命令:
[root@mini1 flink-1.7.2]# ./bin/flink list
Waiting for response...
------------------ Running/Restarting Jobs -------------------
15.01.2020 07:37:15 : 5f5c532d79b6b0a5c24112e0484e5845 : Flink Streaming Job (RUNNING)
--------------------------------------------------------------
No scheduled jobs.
[root@mini1 flink-1.7.2]# ./bin/flink cancel 5f5c532d79b6b0a5c24112e0484e5845
Cancelling job 5f5c532d79b6b0a5c24112e0484e5845.
Cancelled job 5f5c532d79b6b0a5c24112e0484e5845.
[root@mini1 flink-1.7.2]# ./bin/flink list
Waiting for response...
No running jobs.
No scheduled jobs.
[root@mini1 flink-1.7.2]#
2.2 yarn模式
- 启动yarn-session
./yarn-session.sh -n 2 -s 2 -jm 1024 -tm 1024 -nm test -d |
其中:
-n(--container):TaskManager的数量。
-s(--slots): 每个TaskManager的slot数量,默认一个slot一个core,默认每个taskmanager的slot的个数为1,有时可以多一些taskmanager,做冗余。
-jm:JobManager的内存(单位MB)。
-tm:每个taskmanager的内存(单位MB)。
-nm:yarn 的appName(现在yarn的ui上的名字)。
-d:后台执行
2. 执行任务
./flink run -m yarn-cluster -c com.atguigu.flink.app.BatchWcApp /ext/flink0503-1.0-SNAPSHOT.jar --input /applog/flink/input.txt --output /applog/flink/output5.csv |
3.去yarn控制台查看
mini:8088界面