flink on yarn提交任务模式及相关命令

一、yarn-session模式

1.1 先启动yarn session

bin/yarn-session.sh \
-s 8 \
-jm 4g \
-tm 16g \
-nm yarn-session-flink \
-d 

参数解释

参数 意义
-jm 1024 表示jobmanager 1024M内存
-tm 1024 表示taskmanager 1024M内存
-s 8 每一个TaskManager上有8个slots
-d 任务后台运行
-nm,–name 设置YARN上应用名字
-D<property=value> 动态属性 ,类似于-Dparallelism.default=3
-q,–query 显示可用的YARN资源(内存,内核)
-qu,–queue 指定YARN队列
-t,–ship 指定YARN队列
-nl,–nodeLabel 为YARN应用程序指定YARN节点标签
-z,–Zookeeper Namespace 命名空间,用于创建高可用模式下的Zookeeper子路径
-j,–jar Flink jar文件的路径

1.2 将任务提交到创建好的yarn session上运行

flink run  -t yarn-session -Dyarn.application.id=application_1650018331890_0001   -c org.apache.flink.examples.java.wordcount.WordCount examples/batch/WordCount.jar

二、yarn-per-job

提交命令

./flink run \
-m yarn-cluster \
-yjm 1024  \
-ytm 1024  \
-ynm wordcount \
-c org.apache.flink.examples.java.wordcount.WordCount \
-yj examples/batch/WordCount.jar

参数解释

参数 意义
-m 执行模式为yarn-cluster。也可以指定要连接的JobManager的地址,使用这个标志可以连接到配置中指定的不同的JobManager,注意:只有高可用性配置为NONE时才会考虑此选项。
-yjm 指定JobManager所在的Container内存。单位:MB
-ytm 每一个TaskManager Container的内存,单位MB。
-ys 每一个TaskManager中slots的数量。
-ynm YARN中application的名称。
-c 指定Job对应的jar包中主函数所在类名。
-yj,–yarnjar<arg> jar包位置
-yt,–yarnship 传输指定目录下的文件(t用于传输)
-yqu,–yarnqueue<arg> 指定yarn队列
-yD <property=value> 自定义参数
-yid,–yarnapplicationId <arg> 指定yarnid执行
-yq,–yarnquery 显示可用的YARN资源(内存,核心)
-d,–detached 后台执行

三、新版本命令变动

./bin/flink run \
# 指定yarn的Per-job模式,-t等价于-Dexecution.target
-t yarn-per-job \
# yarn应用的自定义name
-Dyarn.application.name=wordcount \
# 未指定并行度时的默认并行度值, 该值默认为1
-Dparallelism.default=3 \
# JobManager进程的内存
-Djobmanager.memory.process.size=2048mb \
# TaskManager进程的内存
-Dtaskmanager.memory.process.size=2048mb \
# 每个TaskManager的slot数目, 最佳配比是和vCores保持一致
-Dtaskmanager.numberOfTaskSlots=2 \
# 防止日志中文乱码
-Denv.java.opts="-Dfile.encoding=UTF-8" \
# 支持火焰图, Flink1.13新特性, 默认为false, 开发和测试环境可以开启, 生产环境建议关闭
-Drest.flamegraph.enabled=true \
# 入口类
-c xxxx.MainClass \
# 提交Job的jar包
xxxx.jar

猜你喜欢

转载自blog.csdn.net/xfp1007907124/article/details/132548789