Flink 参数配置和常见参数调优_小东升职记-程序员宅基地

技术标签: flink  大数据  

Flink参数配置

  • jobmanger.rpc.address jm的地址。

  • jobmanager.rpc.port jm的端口号。

  • jobmanager.heap.mb jm的堆内存大小。不建议配的太大,1-2G足够。

  • taskmanager.heap.mb tm的堆内存大小。大小视任务量而定。需要存储任务的中间值,网络缓存,用户数据等。

  • taskmanager.numberOfTaskSlots slot数量。在yarn模式使用的时候会受到yarn.scheduler.maximum-allocation-vcores值的影响。此处指定的slot数量如果超过yarn的maximum-allocation-vcores,flink启动会报错。在yarn模式,flink启动的task manager个数可以参照如下计算公式:

num_of_tm = ceil(parallelism / slot)  即并行度除以slot个数,结果向上取整。

  • parallelsm.default 任务默认并行度,如果任务未指定并行度,将采用此设置。

  • web.port Flink web ui的端口号。

  • jobmanager.archive.fs.dir 将已完成的任务归档存储的目录。

  • history.web.port 基于web的history server的端口号。

  • historyserver.archive.fs.dir history server的归档目录。该配置必须包含jobmanager.archive.fs.dir配置的目录,以便history server能够读取到已完成的任务信息。

  • historyserver.archive.fs.refresh-interval 刷新存档作业目录时间间隔

  • state.backend 存储和检查点的后台存储。可选值为rocksdb filesystem hdfs。

  • state.backend.fs.checkpointdir 检查点数据文件和元数据的默认目录。

  • state.checkpoints.dir 保存检查点目录。

  • state.savepoints.dir save point的目录。

  • state.checkpoints.num-retained 保留最近检查点的数量。

  • state.backend.incremental 增量存储。

  • akka.ask.timeout Job Manager和Task Manager通信连接的超时时间。如果网络拥挤经常出现超时错误,可以增大该配置值。

  • akka.watch.heartbeat.interval 心跳发送间隔,用来检测task manager的状态。

  • akka.watch.heartbeat.pause 如果超过该时间仍未收到task manager的心跳,该task manager 会被认为已挂掉。

  • taskmanager.network.memory.max 网络缓冲区最大内存大小。

  • taskmanager.network.memory.min 网络缓冲区最小内存大小。

  • taskmanager.network.memory.fraction 网络缓冲区使用的内存占据总JVM内存的比例。如果配置了taskmanager.network.memory.maxtaskmanager.network.memory.min,本配置项会被覆盖。

  • fs.hdfs.hadoopconf hadoop配置文件路径(已被废弃,建议使用HADOOP_CONF_DIR环境变量)

  • yarn.application-attempts job失败尝试次数,主要是指job manager的重启尝试次数。该值不应该超过yarn-site.xml中的yarn.resourcemanager.am.max-attemps的值。

Flink HA(Job Manager)的配置

  • high-availability: zookeeper 使用zookeeper负责HA实现

  • high-availability.zookeeper.path.root: /flink flink信息在zookeeper存储节点的名称

  • high-availability.zookeeper.quorum: zk1,zk2,zk3 zookeeper集群节点的地址和端口

  • high-availability.storageDir: hdfs://nameservice/flink/ha/ job manager元数据在文件系统储存的位置,zookeeper仅保存了指向该目录的指针。

Flink metrics 监控相关配置

  • metrics.reporters: prom

  • metrics.reporter.prom.class: org.apache.flink.metrics.prometheus.PrometheusReporter

  • metrics.reporter.prom.port: 9250-9260

Kafka相关调优配置

  • linger.ms/batch.size 这两个配置项配合使用,可以在吞吐量和延迟中得到最佳的平衡点。batch.size是kafka producer发送数据的批量大小,当数据量达到batch size的时候,会将这批数据发送出去,避免了数据一条一条的发送,频繁建立和断开网络连接。但是如果数据量比较小,导致迟迟不能达到batch.size,为了保证延迟不会过大,kafka不能无限等待数据量达到batch.size的时候才发送。为了解决这个问题,引入了linger.ms配置项。当数据在缓存中的时间超过linger.ms时,无论缓存中数据是否达到批量大小,都会被强制发送出去。

ack 数据源是否需要kafka得到确认。all表示需要收到所有ISR节点的确认信息,1表示只需要收到kafka leader的确认信息,0表示不需要任何确认信息。该配置项需要对数据精准性和延迟吞吐量做出权衡。

Kafka topic分区数和Flink并行度的关系

  • Flink kafka source的并行度需要和kafka topic的分区数一致。最大化利用kafka多分区topic的并行读取能力。

Yarn相关调优配置

  • yarn.scheduler.maximum-allocation-vcores

  • yarn.scheduler.minimum-allocation-vcores

Flink单个task manager的slot数量必须介于这两个值之间

  • yarn.scheduler.maximum-allocation-mb

  • yarn.scheduler.minimum-allocation-mb

Flink的job manager 和task manager内存不得超过container最大分配内存大小。

yarn.nodemanager.resource.cpu-vcores yarn的虚拟CPU内核数,建议设置为物理CPU核心数的2-3倍,如果设置过少,会导致CPU资源无法被充分利用,跑任务的时候CPU占用率不高。

欢迎点赞+收藏+转发朋友圈素质三连

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_38704184/article/details/107835369

智能推荐

Flink 参数配置和常见参数调优

Flink参数配置 jobmanger.rpc.address jm的地址。 jobmanager.rpc.port jm的端口号。 jobmanager.heap.mb jm的堆内存大小。不建议配的太大,1-2G足够。 taskmanager.heap.mb tm的堆内存大小。大小视任务量而定。...

【Flink】Flink on RocksDB 参数调优指南

1. 背景 对于需要保存超大状态(远超于内存容量)的流计算场景来说,目前 RocksDB [1] 是 Flink 平台上官方实现的唯一选择。业界也有使用 Redis 等其他服务作为...更致命的是,默认参数和配置不当的参数,读写性能会比.

flink生产环境参数配置

1.flink生产环境目前的配置 jobmanager.rpc.address dqapp121076 io.tmp.dirs /data12/tmp web.tmpdir /data12/tmp fs.hdfs.hadoopconf /etc/hadoop/conf web.upload.dir /data12/tmp/upload ...

大数据技术之Flink理论到项目

转载自:简单遗传算法MATLAB实现

伪分布式系列 - 第五篇 - flink-1.8.1-bin-scala_2.12-环境搭建on hadoop3.2.0

目录flink的三种运行模式单机模式分布式on yarn环境准备下载flinkflink配置启动测试 flink的三种运行模式 单机模式 分布式 on yarn 环境准备 下载flink 下载地址:...

Flink学习 - 4. Flink 配置文件参数 && Flink任务提交参数

Flink学习 - 提交参数参数说明 参数说明 执行 flink run 后参数: 参数说明 Action "run" compiles and runs a program. Syntax: run [OPTIONS] <jar-file> <arguments> "run" action options: -c,--...

Flink实战(六) - Table API & SQL编程

每个API在简洁性和表达性之间提供不同的权衡,并针对不同的用例。 而且Flink提供不同级别的抽象来开发流/批处理应用程序 最低级抽象只提供有状态流。它通过Process Function嵌入到DataStream API中。它允许用户...

Flink参数调优设置

如果遇到从TaskExecutorProcessUtils抛出的IllegalConfigurationException异常,这通常说明您的配置参数中存在无效值(例如内存大小为负数、占比大于 1 等)或者配置冲突。 请根据异常信息,确认内存模型详解中与...

Flink 调优:Checkpoint 配置

Checkpoint 是 Flink 的失败恢复机制,它的配置对于 Flink 应用程序的性能和稳定性有这至关重要的影响。

Flink RocksDB状态后端参数调优

截至当前,Flink作业的状态后端仍然只有Memory、FileSystem和RocksDB三种可选,且RocksDB是状态数据量较大(GB到TB级别)时的唯一选择。RocksDB的性能发挥非常仰赖调优,如果全部采用默认配置,读写性能有可能会很差...

(四): Flink1.6.1 standalone集群模式安装部署,几个常用参数配置

文章目录NameNode检查点异常Flink1.6.1安装前提配置Flink配置master节点JVM内存slavestaskmanager.numberOfTaskSlotsjobstore.cache临时I/O目录启动集群将JobManager / TaskManager实例添加到群集Maven依赖参考 ...

在 Flink 应用程序中传递和使用参数

几乎所有的 Flink 应用程序,包括批处理和流处理,都依赖于外部配置参数,这些参数被用来指定输入和输出源(如路径或者地址),系统参数(并发数,运行时配置)和应用程序的可配参数(通常用在自定义函数中)。 Flink ...

实时计算 Flink性能调优

自动配置调优 实时计算 Flink新增自动调优功能autoconf。能够在流作业以及上下游性能达到稳定的前提下,根据您作业的历史运行状况,重新分配各算子资源和并发数,达到优化作业的目的。更多详细说明请您参阅自动配置...

Flink1.9系列-Flink on Yarn配置篇

Flink on yarn模式运行任务时,flink本地的一些配置事项

flink项目开发-配置jar依赖,连接器,类库

配置依赖,连接器,类库 每个Flink应用程序依赖于一组Flink库。在最低限度,应用程序只依赖Flink api。许多应用程序依赖特定的连接器库(如kafka,cassandra,等等)。Flink运行应用程序时(在分布式部署,或在IDE中测试),...

Flink流处理-Redis Connector

flink-1.9.0 redis-5.0.4单机模式 一、需要的依赖 <!--flink流处理依赖--> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-streaming-java_2.11</...

Flink on yarn参数配置

在flink on yarn模式中,flink yarn-session的两种提交方式 1.公用一个yarn-session 在yarn中初始化一个flink集群,开辟指定的资源,以后提交任务都向这里提交。这个flink集群会常驻在yarn集群中,除非手工停止。 ...

flink 参数之 -yn and -p

-yn container , also known as task manager conut. -p, parallelism , it is the count the job be divided into. the count of subtask. please see following code: when set the -p, whatever, flink

【Flink】Flink 设置JVM参数

如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4 -XX:SurvivorRatio=n :年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:3,表示Eden:Survivor=3:2,一个Survivor区占...

flink参数释义

转载来自:https://doc.flink-china.org/doc/ops/deployment/cluster_setup.html 用法# 命令行语法如下: ./flink <ACTION> [OPTIONS] [ARGUMENTS] 可以使用以下操作: 命令 "run" ...

Flink 实时写入数据到 ElasticSearch 性能调优

背景说明线上业务反应使用 Flink 消费上游 kafka topic 里的轨迹数据出现 backpressure,数据积压严重。单次 bulk 的写入量为:3000/5...

Flink_Flink TaskManager 内存模型 ,以及相关内存配置参数

Flink 中 TaskManager 中模型比较复杂,本文讲解下 Flink 中的内存模型以及相关的配置 ( 基于 Flink 1.10 ) 内存分布简介 首先我们看一下 Flink 官网给出的内存示意图 : ...

Flink 调优:Checkpoint 问题排查

在使用 Flink 时, 我们基本都会用到 Checkpoint,也难免不会遇到 Checkpoint 慢或者失败等问题,本文介绍了 Checkpoint 问题排查的方法。

Flink2ES写入性能调优

这里写自定义目录标题背景说明测试环境rally压测集群性能合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右...

Flink触发器Triggers

触发器(Triggers) 触发器确定窗口(由窗口分配器形成)何时准备好由窗口功能处理。每个WindowAssigner都带有一个默认触发器。如果默认触发器不适合您的需求,则可以使用trigger(...)指定自定义触发器。...

Flink run 参数解释

1 Flink的前世今生(生态很重要) 很多人可能都是在 2015 年才听到 Flink 这个词,其实早在 2008 年,Flink 的前身已经是柏林理工大学一个研究性项目, 在 2014 被 Apache 孵化器所接受,然后迅速地成为了 ASF...

[Flink 学习] -- 编译 CDH-6.3.0 版本的 Flink 1.9.0

由于 Apache Flink 的开源二进制包未提供 HDP、MapR和 CDH 的下载,所以,如果要兼容基于这些厂商的库编译 Apache Flink。本文主要介绍使用 CDH 的库进行编译 Apache Flink 1.9.0,希望对读者有所帮助。 内容 1...

Flink总结-设置Jvm参数

jvm设置 ... 堆设置 -Xms :初始堆大小 -Xmx :最大堆大小 -XX:NewSize=n :设置年轻代大小 -XX:NewRatio=n: 设置年轻代和年老代的...如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4 -XX:Sur...

Flink程序打包 maven配置(scala版本)

在IDEA中开发Flink程序时,如果把Flink核心依赖包的scope设置为provided,测试会报NoClassDefFountError,但如果设置为compile,打包时核心包也会被打进去。一来包会很大,二来可能会引发jar包冲突,很不方便。 ...

随便推点

推荐文章

热门文章

相关标签