Flink On Yarn应用部署
程序员文章站
2022-07-14 13:41:22
...
以 Yarn 模式部署 Flink 任务时,要求 Flink 是有 Hadoop 支持的版本, Hadoop环境需要保证版本在 2.2 以上,并且集群中安装有 HDFS 服务
Flink提供了两种在yarn上运行的模式,分别为Session-Cluster和Per-Job-Cluster模式。
1.Session-cluster模式
该模式会先在yarn集群中启动一个Flink集群,然后再提交作业,相当于所有Flink应用共享一个集群。具体使用步骤如下:
1)启动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任务
./flink run -m yarn-cluster -c com.zhh.flink.StreamApp /app/flink.jar --input /flink/input.txt --output /flink/output.txt
说明:查看任务执行状态可以,在Yarn Resource Manager UI上面查看。
3) 取消yarn-session
yarn application --kill allicationId
2.Per-Job-Cluster模式
该模式下,不启动yarn-session,直接执行Flink应用,每个应用占有的Yarn资源相互独立。
启动命令如下:
./flink run -m yarn-cluster -c com.zhh.StreamWordCount flink-test.jar --host localhost --port 8888
上一篇: Flink on Yarn