flink on yarn
前言
flink可以提交都不同集群,提交到yarn上只是其中一种比较常见的选择。
flink on yarn有两种模式
- yarn session
- yarn cluster
其区别主要资源的申请和释放
第一种模式
- 内存集中管理模式(yarn session)
- 在Yarn中初始化一个Flink集群,开辟指定的资源,之后我们提交的Flink Jon都在这个Flink yarn-session中,也就是说不管提交多少个job,这些job都会共用开始时在yarn中申请的资源
- 这个Flink集群会常驻在Yarn集群中,资源不会释放,除非手动停止。
yarn session模式任务的提交
- 在flink目录下启动yarn-session
bin/yarn-session.sh -n 2 -tm 1024 -s 1 -d
# -n 表示申请2个容器,
# -s 表示每个容器启动多少个slot
# -tm 表示每个TaskManager申请1024M内存
# -d 表示以后台程序方式运行
- 使用flink脚本提交任务
bin/flink run examples/batch/WordCount.jar \
-input hdfs://node01:8020/words.txt \
-output hdfs://node01:8020/output/result.txt
- 停止任务
//application_ID为想要停止的任务ID 可以再webUI上查看
yarn application -kill application_ID
第二张模式
-
内存job管理模式(yarn cluster)
- 在此模式中,每次提交job都会创建一个新的flink集群,任务之间相互独立,互不影响且方便管理。
- 任务执行完成后创建的集群也会消失