当前位置: 首页 > article >正文

Flink 常用及优化参数

流批模式

SET 'execution.runtime-mode' = 'streaming'; // or batch

基础 Checkpoint 配置

-- 启用 Checkpoint,间隔 5 分钟
SET 'execution.checkpointing.interval' = '5min';
-- Checkpoint 超时时间(10 分钟)
SET 'execution.checkpointing.timeout' = '10min';
-- 最小 Checkpoint 间隔(2.5 分钟)
SET 'execution.checkpointing.min-pause' = '150s';-- 最大并发 Checkpoint 数(默认 1)
SET 'execution.checkpointing.max-concurrent-checkpoints' = '1';
-- Checkpoint 存储路径(HDFS/S3 等) 配合backend state设置
SET 'state.checkpoints.dir' = 'hdfs:///flink/checkpoints';
-- 作业取消后保留 Checkpoint
SET 'execution.checkpointing.externalized-checkpoint-retention' = 'RETAIN_ON_CANCELLATION';

backend存储路径配置

-- 启用 RocksDB 状态后端
SET 'state.backend' = 'rocksdb'; // hashmap, filesystem-- RocksDBStateBackend 
-- RocksDB 本地临时存储路径(多磁盘路径用逗号分隔)
SET 'state.backend.rocksdb.localdir' = '/mnt/ssd1/rocksdb,/mnt/ssd2/rocksdb';
-- 增量 Checkpoint(减少存储开销)
SET 'state.backend.rocksdb.incremental' = 'true';

以下是 Flink SQL Client 中与 Checkpoint 配置相关的常用参数及其详细说明,适用于优化容错机制与作业稳定性:


核心 Checkpoint 参数列表

参数名称默认值作用描述配置示例
execution.checkpointing.interval无 (需显式设置)连续两次 Checkpoint 触发的最小时间间隔(毫秒)。SET 'execution.checkpointing.interval' = '60s';
execution.checkpointing.timeout10 分钟Checkpoint 完成的超时时间,超时则触发失败。SET 'execution.checkpointing.timeout' = '5min';
execution.checkpointing.min-pause0两次 Checkpoint 之间的最小暂停间隔(防止连续触发)。SET 'execution.checkpointing.min-pause' = '30s';
execution.checkpointing.max-concurrent1最大并发 Checkpoint 数量(适用于高吞吐场景)。SET 'execution.checkpointing.max-concurrent' = '2';
execution.checkpointing.externalized-checkpoint-retentionCheckpoint 保留策略:
- DELETE_ON_CANCELLATION(作业取消时删除)
- RETAIN_ON_CANCELLATION(作业取消时保留)
SET 'execution.checkpointing.externalized-checkpoint-retention' = 'RETAIN_ON_CANCELLATION';
state.backend.incrementalfalse是否启用增量 Checkpoint(需使用 RocksDB 状态后端)。SET 'state.backend.incremental' = 'true';
state.checkpoints.dirCheckpoint 存储目录(需配置为持久化路径,如 HDFS/S3)。SET 'state.checkpoints.dir' = 'hdfs:///flink/checkpoints';

配置方式

1. 在 SQL Client 中直接设置
-- 启用 Checkpoint 并设置间隔为 1 分钟
SET 'execution.checkpointing.interval' = '60s';
SET 'execution.checkpointing.externalized-checkpoint-retention' = 'RETAIN_ON_CANCELLATION';
2. 通过配置文件 sql-client-defaults.yaml 全局配置
execution:checkpointing:interval: 60stimeout: 5minmin-pause: 30smax-concurrent: 2externalized-checkpoint-retention: RETAIN_ON_CANCELLATION
state:backend: rocksdbcheckpoints.dir: hdfs:///flink/checkpointsbackend.incremental: true

参数调优场景建议

  1. 高吞吐低延迟场景

    • 缩短间隔interval=10s(需权衡 Checkpoint 开销)。
    • 增大并发max-concurrent=2(避免资源争抢)。
    • 增量 Checkpointstate.backend.incremental=true(减少全量快照开销)。
  2. 大状态作业(如窗口聚合)

    • 延长超时timeout=15min(防止大状态序列化超时)。
    • 保留策略externalized-checkpoint-retention=RETAIN_ON_CANCELLATION(便于手动恢复)。
  3. 避免 Checkpoint 风暴

    • 设置 min-pause:如 min-pause=30s(防止频繁触发导致吞吐下降)。
    • 监控背压:Checkpoint 失败可能由数据反压引起,需优化算子并行度。

Checkpoint 状态恢复

从指定 Checkpoint 重启作业(需保留 Checkpoint 元数据):

# 提交作业时指定恢复路径
./bin/flink run -s hdfs:///flink/checkpoints/<job-id>/chk-1234 ...

注意事项

  • 存储路径权限:确保 Flink 进程对 state.checkpoints.dir 有读写权限(如 HDFS 路径需配置 Kerberos 认证)。
  • RocksDB 调优:若使用 RocksDB,需额外配置内存参数(如 state.backend.rocksdb.memory.managed=true)。
  • 监控指标:通过 Flink Web UI 监控 Checkpoint 持续时间、大小及失败率,及时调整参数。

通过合理配置 Checkpoint 参数,可显著提升 Flink SQL 作业的容错能力与稳定性,具体数值需根据数据量、集群资源和业务 SLA 动态调整。

相关文章:

Flink 常用及优化参数

流批模式 SET execution.runtime-mode streaming; // or batch基础 Checkpoint 配置 -- 启用 Checkpoint&#xff0c;间隔 5 分钟 SET execution.checkpointing.interval 5min; -- Checkpoint 超时时间&#xff08;10 分钟&#xff09; SET execution.checkpointing.timeou…...

Vite 与 Nuxt 深度对比分析

一、核心定位差异 二、核心功能对比 渲染能力 Vite&#xff1a;默认仅支持客户端渲染&#xff08;CSR&#xff09;&#xff0c;需通过插件&#xff08;如vite-plugin-ssr&#xff09;实现 SSR/SSG&#xff0c;但配置灵活 Nuxt&#xff1a;原生支持 SSR&#xff08;服务端渲…...

Linux内核 内存管理 物理内存初始化流程

1.‌ARM64页表初始化流程图 start_kernel()│▼ setup_arch() // 架构相关初始化│▼ early_fixmap_init() // 初始化Fixmap&#xff08;临时映射设备树等&#xff09;│▼ arm64_memblock_init() // 从设备树解析内存布局│▼ arm…...

PyBluez2 的详细介绍、安装指南、使用方法及配置说明

PyBluez2&#xff1a;Python 蓝牙开发的核心库 一、PyBluez2 简介 PyBluez2 是 Python 的开源蓝牙编程库&#xff0c;支持蓝牙 2.0、BLE&#xff08;低功耗蓝牙&#xff09;和传统蓝牙协议栈的开发。它提供了对蓝牙硬件适配器的底层控制&#xff0c;适用于设备发现、配对、数…...

通过一个led点灯的demo来熟悉openharmony驱动编写的过程(附带hdf详细调用过程)

概述 本应用程序(led_rgb)是在上实现直接通过消息机制与内核驱动进行交互&#xff0c;设置RGB三色灯的亮灯行为。我从网上随便找了个demo测试了一下&#xff0c;坑了三天…&#xff0c;整个状态如下图&#xff0c;同时也迫使我深度梳理了一下整个流程框架。直到绝望的时候&…...

pycharm2024.1.1版本_jihuo

目录 前置&#xff1a; 步骤&#xff1a; step one 下载软件 step two 卸载旧版本 1 卸载软件 2 清除残余 step three 下载补丁 step four 安装2024.1.1版本软件 step five 安装补丁 1 找位置放补丁 2 自动设置环境变量 step six 输入jihuo码 前置&#xff1a; 之…...

目标检测20年(四)——最终章

欢迎各位读者尽情阅读前三篇文献解读。这一篇将会介绍文献的第五部分&#xff1a;目标检测近些年的新技术发展以及第六部分&#xff1a;总结与未来展望。这也是本篇论文解读的最后一篇文章。 目录 五、目标检测最新进展 5.1 不采用滑动窗口的检测 5.2 旋转和尺度变化的鲁棒性…...

PyTorch处理数据--Dataset和DataLoader

在 PyTorch 中&#xff0c;Dataset 和 DataLoader 是处理数据的核心工具。它们的作用是将数据高效地加载到模型中&#xff0c;支持批量处理、多线程加速和数据增强等功能。 一、Dataset&#xff1a;数据集的抽象‌ Dataset 是一个抽象类&#xff0c;用于表示数据集的接口。你…...

【Linux】POSIX信号量与基于环形队列的生产消费者模型

目录 一、POSIX信号量&#xff1a; 接口&#xff1a; 二、基于环形队列的生产消费者模型 环形队列&#xff1a; 单生产单消费实现代码&#xff1a; RingQueue.hpp&#xff1a; main.cc&#xff1a; 多生产多消费实现代码&#xff1a; RingQueue.hpp&#xff1a; main.…...

Spring Boot 连接 MySQL 配置参数详解

Spring Boot 连接 MySQL 配置参数详解 前言参数及含义常用参数及讲解和示例useUnicode 参数说明&#xff1a; 完整配置示例注意事项 前言 在 Spring Boot 中使用 Druid 连接池配置 MySQL 数据库连接时&#xff0c;URL 中 ? 后面的参数用于指定连接的各种属性。以下是常见参数…...

[linux] linux基本指令 + shell + 文件权限

目录 1. Linux的认识 1.1. Linux的应用场景 1.2. Linux的版本问题 1.3. 操作系统的认识 1.4. 常用快捷键 2. 常用指令介绍 2.1. ADD 2.1.1. touch [file] 2.1.1.1. 文件的属性信息 2.1.2. mkdir [directory] 2.1.3. cp [file/directory] 2.1.4. echo [file] 2.1.4.…...

查看进程文件描述符的限制

查看进程文件描述符限制 rootgb:/home/gb/Monitor-Device-Mgr/Monitor-Device-Mgr/bin# ps -ef |grep Monitor-Device-Mgr root 3976 2380 59 11:10 pts/2 00:00:06 ./Monitor-Device-Mgr root 4010 2395 0 11:10 pts/3 00:00:00 grep --colorauto Monito…...

Python实现小红书app版爬虫

简介&#xff1a;由于数据需求的日益增大&#xff0c;小红书网页版已经不能满足我们日常工作的需求&#xff0c;为此&#xff0c;小编特地开发了小红书手机版算法&#xff0c;方便大家获取更多的数据&#xff0c;提升工作效率。 手机版接口主要包括&#xff1a;搜素&#xff0…...

【docker】docker-compose安装RabbitMQ

docker-compose安装RabbitMQ 1、配置docker-compose.yml文件&#xff08;docker容器里面的目录请勿修改&#xff09;2、启动mq3、访问mq4、查看服务器映射目录5、踩坑5.1、权限不足 1、配置docker-compose.yml文件&#xff08;docker容器里面的目录请勿修改&#xff09; versi…...

playwright-go实战:自动化登录测试

1.新建项目 打开Goland新建项目playwright-go-demo 项目初始化完成后打开终端输入命令&#xff1a; #安装项目依赖 go get -u github.com/playwright-community/playwright-go #安装浏览器 go run github.com/playwright-community/playwright-go/cmd/playwrightlatest insta…...

LeetCode hot 100 每日一题(13)——73. 矩阵置零

这是一道难度为中等的题目&#xff0c;让我们来看看题目描述&#xff1a; 给定一个 _m_ x _n_ 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 提示&#xff1a; m matrix.lengthn matrix[0].length1 < m, n …...

CEF 给交互函数, 添加控制台是否显示交互参数log开关

CEF 控制台添加一函数,枚举 注册的供前端使用的CPP交互函数有哪些 CEF 多进程模式时,注入函数,获得交互信息-CSDN博客 这两篇文章,介绍了注入函数,在控制台中显示 各自提供的交互函数信息。 有些场景下,我们还需要更详细的信息,比如想知道 彼此传递的参数, 如果每次调…...

云端存储新纪元:SAN架构驱动的智能网盘解决方案

一、企业存储的"不可能三角"破局 1.1 传统存储架构的困局 性能瓶颈&#xff1a;NAS架构在1000并发访问时延迟飙升300%容量限制&#xff1a;传统RAID扩容需停机维护&#xff0c;PB级存储扩展耗时超48小时成本矛盾&#xff1a;全闪存阵列每TB成本高达$3000&#xff0…...

PVE 安装黑苹果 MacOS

背景 我需要一台黑苹果&#xff0c;登录我不常用苹果账号。 方法 The Definitive Guide to Running MacOS in ProxmoxRunning a MacOS 15 Sequoia VM in ProxMox VE及视频 按照第二个的视频一步一步配置&#xff0c;第一个链接提供了不同版本OS...

Unity URP自定义Shader支持RenderLayer

前言&#xff1a; 当我们想用一个灯光只对特定的物体造成影响&#xff0c;而不对其余物体造成影响时&#xff0c;我们就需要设置相对应的LightLayer&#xff0c;但是这在URP12.0是存在的&#xff0c;在之后就不存在LightLayer这一功能&#xff0c;URP将其隐藏而改成了RenderLa…...

Axure项目实战:智慧城市APP(完整交互汇总版)

亲爱的小伙伴&#xff0c;在您浏览之前&#xff0c;烦请关注一下&#xff0c;在此深表感谢&#xff01; 课程主题&#xff1a;智慧城市APP 主要内容&#xff1a;主功能&#xff08;社保查询、医疗信息、公交查询等&#xff09;、活动、消息、我的页面汇总 应用场景&#xff…...

LVS-DR模式配置脚本

LVS-DR模式配置脚本 实验环境&#xff0c;需要4台虚拟机 IP说明172.25.254.101客户端172.25.254.102负载均衡器DS172.25.254.103真实服务器RS172.25.254.104真实服务器RSVIP&#xff1a;172.25.254.255/32 系统必须有ipvsadm和ifconfig命令 dnf install ipvsadm dnf install n…...

树状数组 3 :区间修改,区间查询

【题目描述】 这是一道模板题。 给定数列 a[1],a[2],…,a[n]&#xff0c;你需要依次进行q个操作&#xff0c;操作有两类&#xff1a; 1lrx&#xff1a;给定 l,r,x对于所有 i∈[l,r]&#xff0c;将a[i]加上x&#xff08;换言之&#xff0c;将 a[l],a[l1],…a[r] 分别加上 x&a…...

架构思维:预约抢茅子架构设计

文章目录 案例&#xff1a;预约抢茅子复杂度分析商品预约阶段等待抢购阶段商品抢购阶段订单支付阶段 技术方案商品预约阶段一、基于 Redis 单节点的分布式锁方案1. 核心流程2. 关键设计点 二、Redis 单节点方案的局限性1. 单点故障风险2. 主从切换问题 三、多节点 Redis 实现高…...

使用 gone.WrapFunctionProvider 快速接入第三方服务

项目地址&#xff1a;https://github.com/gone-io/gone 本文中源代码&#xff1a; esexamples/es 文章目录 1. gone.WrapFunctionProvider 简介2. 配置注入实现3. 实战示例&#xff1a;Elasticsearch 集成4. 使用方式5. 最佳实践6. 总结 在如何给Gone框架编写Goner组件&#xf…...

基于SpringBoot+Vue的在教务管理(课程管理)系统+LW示例

1.项目介绍 系统角色&#xff1a;管理员、学生、教师功能模块&#xff1a;管理员&#xff08;学院管理、专业管理、班级管理、学生管理、教师管理、课程管理、选课修改&#xff09;、教师&#xff08;授课查询、教师课表、成绩录入&#xff09;、学生&#xff08;选修课程、学…...

gitee 常用指令

1.拉取代码 // http git clone http.........// https git clone https......... 2. 设置自己账户和密码 ----- 绑定git git config --global user.name "你的用户名"git config --global user.email "你的邮箱" 3. 上传本地代码至git git initgit r…...

etcd性能测试

etcd性能测试 本文参考官方文档完成etcd性能测试&#xff0c;提供etcd官方推荐的性能测试方案。 1. 理解性能&#xff1a;延迟与吞吐量 etcd 提供稳定、持续的高性能。有两个因素决定性能&#xff1a;延迟和吞吐量。延迟是完成一项操作所花费的时间。吞吐量是在某个时间段内…...

JIRA/Xray测试管理工具的最佳实践:从基础到高阶的全场景指南

引言&#xff1a;测试管理的数字化转型与工具价值 在数字化时代&#xff0c;软件质量已成为企业竞争力的核心指标。然而&#xff0c;传统的测试管理方式——如Excel记录用例、邮件沟通缺陷、手动执行回归测试——已无法满足快速迭代的敏捷开发需求。据统计&#xff0c;全球因测…...

ubuntu桌面图标异常——主目录下的所有文件(如文档、下载等)全部显示在桌面

ubuntu桌面图标异常 问题现象问题根源系统级解决方案方法一:全局修改(推荐多用户环境)方法二:单用户修改(推荐个人环境)操作验证与调试避坑指南扩展知识参考文档问题现象 主目录文件异常显示 用户主目录(如/home/user/)下的所有文件(如文档、下载等)全部显示在桌面,…...