【性能调优】local模式下flink处理离线任务能力分析

文章目录

  • 一. flink的内存管理
    • 1.Jobmanager的内存模型
    • 2.TaskManager的内存模型
      • 2.1. 模型说明
      • 2.2. 通讯、数据传输方面
      • 2.3. 框架、任务堆外内存
      • 2.4. 托管内存
    • 3.任务分析
  • 二. 单个节点的带宽瓶颈
    • 1. 带宽相关理论
    • 2. 使用speedtest-cli 测试带宽
    • 3. 任务分析
    • 3. 其他工具使用介绍

本文相关讨论

  1. flink内存对任务性能的影响:通过了解内存模型,了解这些模型都负责那些工作,比如用户代码使用堆,数据通讯使用直接内存等,以便能够根据任务特点针对性调整任务内存;
  2. 并发与带宽之间的关系,local模式下怎么根据带宽,设置最佳线程数;
  3. 内存监控相关命令。

 

任务说明:
使用local模式运行flink sql任务,任务为:从hdfs解析数据到hdfs中的离线任务,其中数据量有4亿,文件数有13个,初始运行参数为:堆内存设为3g、并发设为13,其中运行命令如下:

  java -XX:NativeMemoryTracking=summary -Xms3096m -Xmx3096m    -cp $FLINK_HOME/lib/chunjun-core.jar:$FLINKX_HOME/bin/:$FLINK_HOME/lib/*:$HADOOP_CLASSPATH \
  $CLASS_NAME -job hdfs-hdfs.sql -mode local -jobType sql \
  -flinkConfDir $FLINK_HOME/conf \
  -flinkLibDir $FLINK_HOME/lib \
  -hadoopConfDir $HADOOP_CONF_DIR \
  -confProp "{ \"taskmanager.numberOfTaskSlots\":13}" 

本例子使用chunjun提交flink任务。

 

一. flink的内存管理

了解flink内存模型,可以让我们针对任务特点,合理设置内存,在不造成内存浪费的同时,分析出任务性能瓶颈。

1.Jobmanager的内存模型

组成部分 配置参数 描述
JVM 堆内存 jobmanager.memory.heap.size JobManager 的 JVM 堆内存。框架内存、特殊批处理source、cp、akka通讯(java api实现)。
堆外内存 jobmanager.memory.off-heap.size JobManager 的_堆外内存(直接内存或本地内存)_。
Flink是一款流处理框架,基于Java开发,采用分布式数据流和批处理模型,可以处理大量实时数据和海量数据。在使用Flink运行任务的时候,需要使用flink run命令来启动Flink集群并提交作业。flink run命令可以接受多个参数来控制Flink运行时的各项参数。以下是flink run启动参数的说明: 1. -c, --class:指定要执行的类名。该参数用于跑特定的类的main方法,用于执行离线任务的特定类。 2. -p, --parallelism:指定任务的并行度。该参数用于指定每个算子的并行度,即每个算子的实例数。 3. -m, --jobmanager:指定JobManager的地址。该参数用于指定运行JobManager的主机名和端口号。 4. -t, --target:指定任务的执行目标,可选local或remote。local意味着任务将在本地执行,而remote意味着任务将在远程集群或者会话中执行。 5. -yn, --yarnname:指定在YARN上运行jars的应用程序名称。当我们在YARN中运行flink时,需要使用该参数指定应用程序的名称。 6. -s, --sysout:重定向标准输出流。这个参数可以将标准输出流重定向到本地文件系统中的一个文件。 7. -d, --detached:以后台模式启动任务,启动任务后会脱离当前终端会话。这个参数可以让Flink在后台运行,任务完成后可以退出终端操作,而不会停止Flink运行。 总之,flink run启动参数可以控制Flink任务的执行方式、性能和各项参数,更好地满足任务需求和用户要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

roman_日积跬步-终至千里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值