Flink学习 - 6. Flink on yarn 提交流程 及 资源管理
Flink On Yarn
Flink On Yarn 执行任务两种方式
Flink Session (Session-Cluster)
在yarn上启动一个守护进程,用于启动多个job,即启动一个application master 用来管理多个job
启动命令:
./yarn-session.sh -n 4 -jm 1024 -tm 5120 -s 5 -nm yarn-session-jobs -d
参数说明:
- -n : 指定number of task manager,指定taskmanager个数
- -jm: jobmanager所占用的内存数,单位为MB
- -tm: 指定每个taskmanager所占用的内存,单位为MB
- -s: 指定每个taskmanager可使用的cpu核数
- -nm: 指定Application的名称
- -d : 后台启动,session启动后,进程关闭
启动流程说明:
(1) 启动session 后,yarn首先会分配一个Container,用于启动APP master和jobmanager, 所占用内存为-jm指定的内存大小,cpu为1核
(2) 没有启动job之前,jobmanager是不会启动taskmanager的(jobmanager会根据job的并行度,即所占用的slots,来动态的分配taskmanager)
(3) 提交任务到APP master
./flink run -p 3 -yid application_id -d -c com.kb.rt.Test01 ~/jar/kb-1.0-SNAPSHOT.jar
用于启动一个job到指定的APP master中
参数说明:
- -p:指定任务的并行度,如果你在程序代码中指定了并行度的话,那么此处的并行度参数不起作用
- -yid:指定任务提交到哪一个application—id,默认是提交到本节点最新提交的一个application
- -c: job的主入口 + jar path
注:job参数要写在-c之前