JM2~4G 足够
单个 TM2~8G 足够
numberOfTaskSlots 与容器核数相关 [1slot :1core 或 1slot :2core]
使 用 DominantResourceCalculator 策 略 并 指 定 容 器vcore 数
bin/flink run
-t yarn-per-job
-d
-p 5
-Drest.flamegraph.enabled=true
-Dyarn.application.queue=test
-Dyarn.containers.vcores=3
-Djobmanager.memory.process.size=1024mb
-Dtaskmanager.memory.process.size=4096mb
-Dtaskmanager.numberOfTaskSlots=2
-c com.UvDemo
/myjar/flink-1.0-SNAPSHOT.jar
如果在YARN上看到的是:
作业占用4个容器,10个vcore
分析:
JobManager1 个,占用 1 个容器, vcore=1
TaskManager3 个,占用 3 个容器,每个容器 vcore =3,总 vcore=3*3=9
1 +9 = 10
如果1个TM只能提供1个Slot,并行度又为4,那么就需要启动4个TM
如果只想一个启动一个TM,那么TM就该配置多个 Slot [-Dtaskmanager.numberOfTaskSlots]
-------------------yarn cluster模式: python flink run -n -t yarn-per-job -s hdfs:///flink_114/savepoints/savepoint-5f74f9-23232324343 -Dyarn.application.name=job_nanme 指定jobname-Dyarn.application.queue=root.flink 指定 yarn 队列-Djobmanager.memory.process.size=2048mb 指定 JM 的总进程大小-Dtaskmanager.memory.process.size=12400mb 指定每个 TM 的总进程大小-Dtaskmanager.memory.managed.size=1024mb 指定每个 TM 的管理内存大小-Dtaskmanager.numberOfTaskSlots=4 指定每个 TM 的 slot 数--python /pythonmain.py -yD env.java.opts="-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8" -pyarch py36_113.zip -pyexec py36_113.zip/py36_113/bin/python-----------------yarn cluster模式:(-m yarn-cluster,其实就是 yarn-per-job老版本的写法):pythonflink run -m yarn-cluster -ynm job_nanme -s hdfs:///flink_114/savepoints/savepoint-1d9348-22222 -yjm 1024 指定 JM 的总进程大小-ytm 4096 指定每个 TM 的总进程大小-yD taskmanager.memory.managed.size=1024mb 指定每个 TM 的管理内存大小-yD yarn.application.queue=root.flink --python /home/hadoop/liuge36/bak1/wk_galaxy/streaming/data_works/matrix/run.py -yD env.java.opts="-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8" -pyarch py36_113.zip -pyexec py36_113.zip/py36_113/bin/python-----------------Generic Cli模式: jar flink run -d -p 5 指定并行度-t yarn-per-job 指定提交方式-s hdfs:///flink_114/savepoints/savepoint-5f74f9-23232324343 -Dyarn.application.name=job_nanme 指定jobname-Dyarn.application.queue=root.flink 指定yarn 的队列 -Djobmanager.memory.process.size=2048mb 指定 JM 的总进程大小-Dtaskmanager.memory.process.size=12400mb 指定每个 TM 的总进程大小-Dtaskmanager.memory.managed.size=1024mb 指定每个 TM 的管理内存大小-Dtaskmanager.numberOfTaskSlots=4 指定每个 TM 的 slot 数-c com.how2s.cn.flink.UvDemo /myjar/flink-liuge-1.0-SNAPSHOT.jar