欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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