当前位置:   article > 正文

Flink on yarn任务内存调优_taskmanager.memory.framework.heap.size

taskmanager.memory.framework.heap.size

1、taskManager内存调优

flink taskmanager任务运行时的内存模型如下:

        可以看到flink taskmanager任务内存主要分为两大块,一个是flink框架和任务本身的内存,一个是jvm本身的内存开销。

1.1、yarn-pre-job模式

        taskmanager.memory.process.size 这个配置是配置flink taskmanager任务的总内存,里面各个区域的内存划分flink框架会根据默认比例进行划分,但有时候默认的划分并不能满足我们的需求,容易造成内存和计算资源浪费。

        下面将介绍flink taskmanagr各个组件的详细内存调优。taskmanager内存介绍可以参考这篇文章flink任务内存调优,TaskManager、JobManager内存配置_大数据摸鱼的博客-CSDN博客

        flink on yarn-pre-job任务提交参数如下:

  1. flink run -t yarn-per-job \
  2. -c com.Test \
  3. -Dpipeline.name="flink test job" \
  4. -Dyarn.application.name="flink test job" \
  5. -Dtaskmanager.memory.process.size="2048m" \
  6. -Dtaskmanager.memory.framework.heap.size="128m" \
  7. -Dtaskmanager.memory.task.heap.size="640m" \
  8. -Dtaskmanager.memory.managed.size="768m" \
  9. -Dtaskmanager.memory.framework.off-heap.size="128m" \
  10. -Dtaskmanager.memory.network.max="64m" \
  11. -Dtaskmanager.memory.jvm-metaspace.size="128m" \
  12. -Dtaskmanager.memory.jvm-overhead.max="192m" \
  13. -Djobmanager.memory.process.size="700m" \
  14. -Dclassloader.resolve-order="parent-first" \
  15. -Dyarn.application.queue="other" \
  16. -Dstate.checkpoints.dir="hdfs:///flink/checkpoints" \
  17. /app/test.jar

参数说明:

taskmanager.memory.process.size        taskmanager总内存设置为2048m

taskmanager.memory.framework.heap.size        flink框架堆内存128m

taskmanager.memory.task.heap.size                用户代码运行堆内存640m

taskmanager.memory.managed.size                用于hash排序的内存768m

taskmanager.memory.framework.off-heap.size        flink框架本身堆外内存128m

taskmanager.memory.network.max                最大网络缓存内存64m

taskmanager.memory.jvm-metaspace.size                jvm内存128m

taskmanager.memory.jvm-overhead.max                 jvm最大内存192m

jobmanager.memory.process.size                        jobmanager内存设置为700m

1.2、yarn-application模式

        yarn-application内存参数调优基本和yarn-pre-job模式一样,只是yarn-application模式需要把用户的jar包传到hdfs上。其运行指令如下

  1. flink run-application -t yarn-application \
  2. -c com.Test \
  3. -Dpipeline.name="flink test job" \
  4. -Dyarn.application.name="flink test job" \
  5. -Dtaskmanager.memory.process.size="2048m" \
  6. -Dtaskmanager.memory.framework.heap.size="128m" \
  7. -Dtaskmanager.memory.task.heap.size="640m" \
  8. -Dtaskmanager.memory.managed.size="768m" \
  9. -Dtaskmanager.memory.framework.off-heap.size="128m" \
  10. -Dtaskmanager.memory.network.max="64m" \
  11. -Dtaskmanager.memory.jvm-metaspace.size="128m" \
  12. -Dtaskmanager.memory.jvm-overhead.max="192m" \
  13. -Djobmanager.memory.process.size="700m" \
  14. -Dclassloader.resolve-order="parent-first" \
  15. -Dyarn.application.queue="other" \
  16. -Dstate.checkpoints.dir="hdfs:///flink/checkpoints" \
  17. hdfs:///app/test.jar

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/549822
推荐阅读
相关标签
  

闽ICP备14008679号