网络
虚拟私有云 VPC
弹性公网IP EIP
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
虚拟专用网络 VPN
云连接 CC
VPC终端节点 VPCEP
企业路由器 ER
企业交换机 ESW
全球加速 GA
企业连接 EC
云原生应用网络 ANC
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
威胁检测服务 MTD
态势感知 SA
认证测试中心 CTC
边缘安全 EdgeSec
应用中间件
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
API网关 APIG
分布式缓存服务 DCS
多活高可用服务 MAS
事件网格 EG
管理与监管
统一身份认证服务 IAM
消息通知服务 SMN
云监控服务 CES
应用运维管理 AOM
应用性能管理 APM
云日志服务 LTS
云审计服务 CTS
标签管理服务 TMS
配置审计 Config
应用身份管理服务 OneAccess
资源访问管理 RAM
组织 Organizations
资源编排服务 RFS
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
解决方案
高性能计算 HPC
SAP
混合云灾备
开天工业工作台 MIW
Haydn解决方案工厂
数字化诊断治理专家服务
云生态
云商店
合作伙伴中心
华为云开发者学堂
华为云慧通差旅
开发与运维
软件开发生产线 CodeArts
需求管理 CodeArts Req
流水线 CodeArts Pipeline
代码检查 CodeArts Check
编译构建 CodeArts Build
部署 CodeArts Deploy
测试计划 CodeArts TestPlan
制品仓库 CodeArts Artifact
移动应用测试 MobileAPPTest
CodeArts IDE Online
开源镜像站 Mirrors
性能测试 CodeArts PerfTest
应用管理与运维平台 ServiceStage
云应用引擎 CAE
开源治理服务 CodeArts Governance
华为云Astro轻应用
CodeArts IDE
Astro工作流 AstroFlow
代码托管 CodeArts Repo
漏洞管理服务 CodeArts Inspector
联接 CodeArtsLink
软件建模 CodeArts Modeling
Astro企业应用 AstroPro
CodeArts盘古助手
华为云Astro大屏应用
计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
云手机服务器 CPH
专属主机 DeH
弹性伸缩 AS
镜像服务 IMS
函数工作流 FunctionGraph
云耀云服务器(旧版)
VR云渲游平台 CVR
Huawei Cloud EulerOS
云化数据中心 CloudDC
网络
虚拟私有云 VPC
弹性公网IP EIP
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
虚拟专用网络 VPN
云连接 CC
VPC终端节点 VPCEP
企业路由器 ER
企业交换机 ESW
全球加速 GA
企业连接 EC
云原生应用网络 ANC
CDN与智能边缘
内容分发网络 CDN
智能边缘云 IEC
智能边缘平台 IEF
CloudPond云服务
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
威胁检测服务 MTD
态势感知 SA
认证测试中心 CTC
边缘安全 EdgeSec
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
可信智能计算服务 TICS
推荐系统 RES
云搜索服务 CSS
数据可视化 DLV
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
湖仓构建 LakeFormation
智能数据洞察 DataArts Insight
应用中间件
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
API网关 APIG
分布式缓存服务 DCS
多活高可用服务 MAS
事件网格 EG
开天aPaaS
应用平台 AppStage
开天企业工作台 MSSE
开天集成工作台 MSSI
API中心 API Hub
云消息服务 KooMessage
交换数据空间 EDS
云地图服务 KooMap
云手机服务 KooPhone
组织成员账号 OrgID
云空间服务 KooDrive
管理与监管
统一身份认证服务 IAM
消息通知服务 SMN
云监控服务 CES
应用运维管理 AOM
应用性能管理 APM
云日志服务 LTS
云审计服务 CTS
标签管理服务 TMS
配置审计 Config
应用身份管理服务 OneAccess
资源访问管理 RAM
组织 Organizations
资源编排服务 RFS
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
区块链
区块链服务 BCS
数字资产链 DAC
华为云区块链引擎服务 HBS
解决方案
高性能计算 HPC
SAP
混合云灾备
开天工业工作台 MIW
Haydn解决方案工厂
数字化诊断治理专家服务
价格
成本优化最佳实践
专属云商业逻辑
云生态
云商店
合作伙伴中心
华为云开发者学堂
华为云慧通差旅
其他
管理控制台
消息中心
产品价格详情
系统权限
客户关联华为云合作伙伴须知
公共问题
宽限期保留期
奖励推广计划
活动
云服务信任体系能力说明
开发与运维
软件开发生产线 CodeArts
需求管理 CodeArts Req
流水线 CodeArts Pipeline
代码检查 CodeArts Check
编译构建 CodeArts Build
部署 CodeArts Deploy
测试计划 CodeArts TestPlan
制品仓库 CodeArts Artifact
移动应用测试 MobileAPPTest
CodeArts IDE Online
开源镜像站 Mirrors
性能测试 CodeArts PerfTest
应用管理与运维平台 ServiceStage
云应用引擎 CAE
开源治理服务 CodeArts Governance
华为云Astro轻应用
CodeArts IDE
Astro工作流 AstroFlow
代码托管 CodeArts Repo
漏洞管理服务 CodeArts Inspector
联接 CodeArtsLink
软件建模 CodeArts Modeling
Astro企业应用 AstroPro
CodeArts盘古助手
华为云Astro大屏应用
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
存储容灾服务 SDRS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
云存储网关 CSG
专属分布式存储服务 DSS
数据工坊 DWR
地图数据 MapDS
键值存储服务 KVS
容器
云容器引擎 CCE
云容器实例 CCI
容器镜像服务 SWR
云原生服务中心 OSC
应用服务网格 ASM
华为云UCS
数据库
云数据库 RDS
数据复制服务 DRS
文档数据库服务 DDS
分布式数据库中间件 DDM
云数据库 GaussDB
云数据库 GeminiDB
数据管理服务 DAS
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
AI开发平台ModelArts
华为HiLens
图引擎服务 GES
图像识别 Image
文字识别 OCR
自然语言处理 NLP
内容审核 Moderation
图像搜索 ImageSearch
医疗智能体 EIHealth
企业级AI应用开发专业套件 ModelArts Pro
人脸识别服务 FRS
对话机器人服务 CBS
语音交互服务 SIS
人证核身服务 IVS
视频智能分析服务 VIAS
城市智能体
自动驾驶云服务 Octopus
盘古大模型 PanguLargeModels
IoT物联网
设备接入 IoTDA
全球SIM联接 GSL
IoT数据分析 IoTA
路网数字化服务 DRIS
IoT边缘 IoTEdge
设备发放 IoTDP
企业应用
域名注册服务 Domains
云解析服务 DNS
企业门户 EWP
ICP备案
商标注册
华为云WeLink
华为云会议 Meeting
隐私保护通话 PrivateNumber
语音通话 VoiceCall
消息&短信 MSGSMS
云管理网络
SD-WAN 云服务
边缘数据中心管理 EDCM
云桌面 Workspace
应用与数据集成平台 ROMA Connect
ROMA资产中心 ROMA Exchange
API全生命周期管理 ROMA API
政企自服务管理 ESM
视频
实时音视频 SparkRTC
视频直播 Live
视频点播 VOD
媒体处理 MPC
视频接入服务 VIS
数字内容生产线 MetaStudio
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
专属云
专属计算集群 DCC
开发者工具
SDK开发指南
API签名指南
DevStar
华为云命令行工具服务 KooCLI
Huawei Cloud Toolkit
CodeArts API
云化转型
云架构中心
云采用框架
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
客户运营能力
国际站常见问题
支持计划
专业服务
合作伙伴支持计划
我的凭证
华为云公共事业服务云平台
工业软件
工业数字模型驱动引擎
硬件开发工具链平台云服务
工业数据转换引擎云服务

Flink常用配置参数

更新时间:2024-10-22 GMT+08:00
分享

配置说明

Flink所有的配置参数都可以在客户端侧进行配置,建议用户直接修改客户端的“flink-conf.yaml”配置文件进行配置,如果通过Manager界面修改Flink服务参数,配置完成之后需要重新下载安装客户端:

  • 配置文件路径:客户端安装路径/Flink/flink/conf/flink-conf.yaml。
  • 文件的配置格式为key: value

    例:taskmanager.heap.size: 1024mb

    注意配置项key:与value之间需有空格分隔。

配置详情

本章节介绍如下参数配置:

  • JobManager & TaskManager

    JobManager和TaskManager是Flink的主要组件,针对各种安全场景和性能场景,配置项包括通信端口,内存管理,连接重试等。

  • Blob服务端

    JobManager节点上的Blob服务端是用于接收用户在客户端上传的Jar包,或将Jar包发送给TaskManager,传输log文件等,配置项包括端口,SSL,重试次数,并发等。

  • Distributed Coordination (via Akka)

    Flink客户端与JobManager的通信,JobManager与TaskManager的通信和TaskManager与TaskManager的通信都基于Akka actor模型。相关参数可以根据网络环境或调优策略进行配置,配置项包括消息发送和等待的超时设置,以及Akka DeathWatch检测机制参数等。

  • SSL

    当需要配置安全Flink集群时,需要配置SSL相关配置项,配置项包括SSL开关,证书,密码,加密算法等。

  • Network communication (via Netty)

    Flink运行Job时,Task之间的数据传输和反压检测都依赖Netty,某些环境下可能需要对Netty参数进行配置。对于高级调优,可调整部分Netty配置项,默认配置已可满足大规模集群并发高吞吐量的任务。

  • JobManager Web Frontend

    JobManager启动时,会在同一进程内启动Web服务器,访问Web服务器可以获取当前Flink集群的信息,包括JobManager,TaskManager及集群内运行的Job。Web服务器参数的配置项包括端口,临时目录,显示项目,错误重定向,安全相关等。

  • File Systems

    Task运行中会创建结果文件,支持对文件创建行为进行配置,配置项包括文件覆盖策略,目录创建等。

  • State Backend

    Flink提供了HA和作业的异常恢复,并且提供版本升级时作业的暂停恢复。对于作业状态的存储,Flink依赖于state backend,作业的重启依赖于重启策略,用户可以对这两部分进行配置。配置项包括state backend类型,存储路径,重启策略等。

  • Kerberos-based Security

    Flink安全模式下必须配置Kerberos相关配置项,配置项包括kerberos的keytab、principal等。

  • HA

    Flink的HA模式依赖于ZooKeeper,所以必须配置ZooKeeper相关配置,配置项包括ZooKeeper地址,路径,安全认证等。

  • Environment

    对于JVM配置有特定要求的场景,可以通过配置项传递JVM参数到客户端,JobMananger,TaskManager等。

  • Yarn

    Flink运行在Yarn集群上时,JobManager运行在Application Master上。JobManager的一些配置参数依赖于Yarn,通过配置YARN相关的配置,使Flink更好的运行在Yarn上,配置项包括yarn container的内存,虚拟内核,端口等。

  • Pipeline

    为适应某些场景对降低时延的需求,设计多个Job间采用Netty直接相连的方式传递数据,即分别使用NettySink用于Server端、NettySource用于Client端进行数据传输。配置项包括NettySink的信息存放路径、NettySink的端口监测范围、连接是否通过SSL加密以及NettySink监测所使用的网络所在域等。

JobManager & TaskManager

表1 JobManager & TaskManager参数说明

参数

描述

默认值

是否必选

备注

taskmanager.memory.size

TaskManager在JVM堆内存中保留空间的大小,此内存用于排序,哈希表和中间状态的缓存。如果未指定,则会使用JVM堆内存乘以比例taskmanager.memory.fraction。单位:MB。

0

仅MRS 3.x之前版本

taskmanager.registration.initial-backoff

两次连续注册的初始间隔时间。单位:ms/s/m/h/d。

时间数值和单位之间有半角字符空格。ms/s/m/h/d表示毫秒、秒、分钟、小时、天。

500 ms

taskmanager.registration.refused-backoff

JobManager拒绝注册后到允许再次注册的间隔时间。

5 min

taskmanager.rpc.port

TaskManager的IPC端口范围。

32326-32390

适用于所有版本

taskmanager.memory.segment-size

内存管理器和网络堆栈使用的内存缓冲区大小。单位:bytes。

32768

taskmanager.data.port

TaskManager数据交换端口范围。

32391-32455

taskmanager.data.ssl.enabled

TaskManager之间数据传输是否使用SSL加密,仅在全局开关security.ssl开启时有效。

false

taskmanager.numberOfTaskSlots

TaskManager占用的slot数,一般配置成物理机的核数,yarn-session模式下只能使用-s参数传递,yarn-cluster模式下只能使用-ys参数传递。

1

parallelism.default

默认并行度,用于未指定并行度的作业。

1

taskmanager.memory.fraction

TaskManager在JVM堆内存中保留空间的比例,此内存用于排序,哈希表和中间状态的缓存。

0.7

taskmanager.memory.off-heap

TaskManager是否使用堆外内存,此内存用于排序,哈希表和中间状态的缓存。建议对于大内存,开启此配置提高内存操作的效率。

false

taskmanager.memory.preallocate

TaskManager是否在启动时分配保留内存空间。当开启堆外内存时,建议开启此配置项。

false

task.cancellation.interval

两次连续任务取消操作的间隔时间。单位:ms。

30000

client.rpc.port

Flink client端Akka system监测端口。

32651-32720

仅MRS 3.x及之后版本

jobmanager.heap.size

JobManager堆内存大小,yarn-session模式下只能使用-jm参数传递,yarn-cluster模式下只能使用-yjm参数传递,如果小于YARN配置文件中yarn.scheduler.minimum-allocation-mb大小,则使用YARN配置中的值。单位:B/KB/MB/GB/TB。

1024mb

taskmanager.heap.size

TaskManager堆内存大小,yarn-session模式下只能使用-tm参数传递,yarn-cluster模式下只能使用-ytm参数传递,如果小于YARN配置文件中yarn.scheduler.minimum-allocation-mb大小,则使用YARN配置中的值。单位:B/KB/MB/GB/TB。

1024mb

taskmanager.network.numberOfBuffers

TaskManager网络传输缓冲栈数量,如果作业运行中出错提示系统中可用缓冲不足,可以增加这个配置项的值。

2048

taskmanager.debug.memory.startLogThread

调试Flink内存和GC相关问题时可开启,TaskManager会定时采集内存和GC的统计信息,包括当前堆内,堆外,内存池的使用率和GC时间。

false

taskmanager.debug.memory.logIntervalMs

TaskManager定时采集内存和GC的统计信息的采集间隔。

0

taskmanager.maxRegistrationDuration

TaskManager向JobManager注册自己的最长时间,如果超过时间,TaskManager会关闭。

5 min

taskmanager.initial-registration-pause

两次连续注册的初始间隔时间。该值需带一个时间单位(ms/s/min/h/d)(比如5秒)。

时间数值和单位之间有半角字符空格。ms/s/m/h/d表示毫秒、秒、分钟、小时、天。

500 ms

taskmanager.max-registration-pause

TaskManager注册失败最大重试间隔。单位:ms/s/m/h/d。

30 s

taskmanager.refused-registration-pause

TaskManager注册连接被JobManager拒绝后的重试间隔。单位:ms/s/m/h/d。

10 s

classloader.resolve-order

从用户代码加载类时定义类解析策略,这意味着是首先检查用户代码jar(“child-first”)还是应用程序类路径(“parent-first”)。默认设置指示首先从用户代码jar加载类,这意味着用户代码jar可以包含和加载不同于Flink使用的(依赖)依赖项。

child-first

slot.idle.timeout

Slot Pool中空闲Slot的超时时间(以ms为单位)。

50000

slot.request.timeout

从Slot Pool请求Slot的超时(以ms为单位)。

300000

task.cancellation.timeout

取消任务超时时间(以ms为单位),超时后会触发TaskManager致命错误。设置为0,取消任务卡住则不会报错。

180000

taskmanager.network.detailed-metrics

启用网络队列长度的详细指标监控。

false

taskmanager.network.memory.buffers-per-channel

每个传出/传入通道(子分区/输入通道)使用的最大网络缓冲区数.在基于信用的流量控制模式下,这表示每个输入通道中有多少信用。它应配置至少2以获得良好的性能。1个缓冲区用于接收子分区中的飞行中数据,1个缓冲区用于并行序列化。

2

taskmanager.network.memory.floating-buffers-per-gate

每个输出/输入门(结果分区/输入门)使用的额外网络缓冲区数。在基于信用的流量控制模式中,这表示在所有输入通道之间共享多少浮动信用。浮动缓冲区基于积压(子分区中的实时输出缓冲区)反馈来分布,并且可以帮助减轻由子分区之间的不平衡数据分布引起的背压。如果节点之间的往返时间较长和/或群集中的机器数量较多,则应增加此值。

8

taskmanager.network.memory.fraction

用于网络缓冲区的JVM内存的占比。这决定了TaskManager可以同时拥有多少流数据交换通道以及通道缓冲的程度。如果作业被拒绝或者收到系统没有足够缓冲区的警告,请增加此值或“taskmanager.network.memory.min”和“taskmanager.network.memory.max”。另请注意,“taskmanager.network.memory.min”和“taskmanager.network.memory.max”可能会覆盖此占比。

0.1

taskmanager.network.memory.max

网络缓冲区的最大内存大小。该值需带一个大小单位(B/KB/MB/GB/TB)。

1 GB

taskmanager.network.memory.min

网络缓冲区的最小内存大小。该值需带一个大小单位(B/KB/MB/GB/TB)。

64 MB

taskmanager.network.request-backoff.initial

输入通道的分区请求的最小退避(以ms为单位)。

100

taskmanager.network.request-backoff.max

输入通道的分区请求的最大退避(以ms为单位)。

10000

taskmanager.registration.timeout

TaskManager注册的超时时间,在该时间内未成功注册,TaskManager将终止。该值需带一个时间单位(ms/s/min/h/d)。

5 min

resourcemanager.taskmanager-timeout

释放空闲TaskManager的超时(以ms为单位)。

30000

Blob服务端

表2 Blob服务端参数说明

参数

描述

默认值

是否必选

blob.server.port

blob服务器端口。

32456-32520

blob.service.ssl.enabled

blob传输通道是否加密传输,仅在全局开关security.ssl开启时有。

true

blob.fetch.retries

TaskManager从JobManager下载blob文件的重试次数。

50

blob.fetch.num-concurrent

JobManager支持的下载blob的并发数。

50

blob.fetch.backlog

JobManager支持的blob下载队列大小,比如下载Jar包等。单位:个。

1000

library-cache-manager.cleanup.interval

当用户取消flink job后,jobmanager删除HDFS上存放用户jar包的时间,单位为s。

仅适用于MRS 3.x及之后版本。

3600

Distributed Coordination (via Akka)

表3 Distributed Coordination参数说明

参数

描述

默认值

是否必选

备注

akka.ask.timeout

akka所有异步请求和阻塞请求的超时时间。如果Flink发生超时失败,可以增大这个值。当机器处理速度慢或者网络阻塞时会发生超时。单位:ms/s/m/h/d。

10s

适用于所有版本

akka.lookup.timeout

查找JobManager actor对象的超时时间。单位:ms/s/m/h/d。

10s

akka.framesize

JobManager和TaskManager间最大消息传输大小。当Flink出现消息大小超过限制的错误时,可以增大这个值。单位:b/B/KB/MB。

10485760b

akka.watch.heartbeat.interval

Akka DeathWatch机制检测失联TaskManager的心跳间隔。如果TaskManager经常发生由于心跳消息丢失或延误而被错误标记为失联的情况,可以增大这个值。单位:ms/s/m/h/d。

10s

akka.watch.heartbeat.pause

Akka DeathWatch可接受的心跳暂停时间,较小的数值表示不允许不规律的心跳。单位:ms/s/m/h/d。

60s

akka.watch.threshold

DeathWath失败检测阈值,较小的数值容易把正常TaskManager标记为失败,较大的值增加了失败检测的时间。

12

akka.tcp.timeout

发送连接TCP超时时间,如果经常发生满网络环境下连接TaskManager超时,可以增大这个值。单位:ms/s/m/h/d。

20s

akka.throughput

Akka批量处理消息的数量,一次操作完后把处理线程归还线程池。较小的数值代表actor消息处理的公平调度,较大的值以牺牲调度公平的代价提高整体性能。

15

akka.log.lifecycle.events

Akka远程时间日志开关,当需要调试时可打开此开关。

false

akka.startup-timeout

远程组件启动失败前的超时时间。该值需带一个时间单位(ms/s/min/h/d)

与akka.ask.timeout的值一致

akka.ssl.enabled

Akka通信SSL开关,仅在全局开关security.ssl开启时有。

true

akka.client-socket-worker-pool.pool-size-factor

计算线程池大小的因子,计算公式:ceil(可用处理器*因子),计算结果限制在pool-size-min和pool-size-max之间。

1.0

仅适用于MRS 3.x及之后版本

akka.client-socket-worker-pool.pool-size-max

基于因子计算的线程数上限。

2

akka.client-socket-worker-pool.pool-size-min

基于因子计算的线程数下限。

1

akka.client.timeout

【说明】客户端超时时间。该值需带一个时间单位(ms/s/min/h/d)。

60s

akka.server-socket-worker-pool.pool-size-factor

【说明】计算线程池大小的因子,计算公式:ceil(可用处理器*因子),计算结果限制在pool-size-min和pool-size-max之间。

1.0

akka.server-socket-worker-pool.pool-size-max

基于因子计算的线程数上限。

2

akka.server-socket-worker-pool.pool-size-min

基于因子计算的线程数下限。

1

SSL

表4 SSL参数说明

参数

描述

默认值

是否必选

备注

security.ssl.internal.enabled

内部通信SSL总开关,按照集群的安全模式自动配置。

  • 安全模式:true
  • 普通模式:false

仅MRS 3.x之前版本

security.ssl.internal.keystore

Java keystore文件。

-

security.ssl.internal.keystore-password

keystore文件解密密码。

-

security.ssl.internal.key-password

keystore文件中服务端key的解密密码。

-

security.ssl.internal.truststore

truststore文件包含公共CA证书。

-

security.ssl.internal.truststore-password

truststore文件解密密码。

-

security.ssl.rest.enabled

外部通信SSL总开关,按照集群的安全模式自动配置。

  • 安全模式:true
  • 普通模式:false

security.ssl.rest.keystore

Java keystore文件。

-

security.ssl.rest.keystore-password

keystore文件解密密码。

-

security.ssl.rest.key-password

keystore文件中服务端key的解密密码。

-

security.ssl.rest.truststore

truststore文件包含公共CA证书。

-

security.ssl.rest.truststore-password

truststore文件解密密码。

-

security.ssl.protocol

SSL传输的协议版本。

TLSv1.2

适用于所有版本

security.ssl.algorithms

支持的SSL标准算法,具体可参考java官网:http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites

TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

security.ssl.enabled

内部通信SSL总开关,按照集群的安装模式自动配置。

  • 安全模式:true
  • 普通模式:false

仅MRS 3.x及之后版本

security.ssl.keystore

Java keystore文件。

-

security.ssl.keystore-password

keystore文件解密密码。

-

security.ssl.key-password

keystore文件中服务端key的解密密码。

-

security.ssl.truststore

truststore文件包含公共CA证书。

-

security.ssl.truststore-password

truststore文件解密密码。

-

Network communication (via Netty)

表5 Network communication参数说明

参数

描述

默认值

是否必选

taskmanager.network.netty.num-arenas

Netty内存块数。

1

taskmanager.network.netty.server.numThreads

Netty服务器线程的数量。

1

taskmanager.network.netty.client.numThreads

Netty客户端线程数。

1

taskmanager.network.netty.client.connectTimeoutSec

Netty客户端连接超时。单位:s。

120

taskmanager.network.netty.sendReceiveBufferSize

Netty发送和接收缓冲区大小。 默认为系统缓冲区大小(cat / proc / sys / net / ipv4 / tcp_ [rw] mem),在现代Linux中为4MB。单位:bytes。

4096

taskmanager.network.netty.transport

Netty传输类型,“nio”或“epoll”。

nio

JobManager Web Frontend

表6 JobManager Web Frontend参数说明

参数

描述

默认值

是否必选

备注

jobmanager.web.port

web端口,支持范围:32261-32325。

32261-32325

仅MRS 3.x之前版本

jobmanager.web.allow-access-address

web访问白名单,ip以逗号隔开。只有在白名单中的ip才能访问web。

*

适用于所有版本

flink.security.enable

用户安装Flink集群时,需要选择“安全模式”“普通模式”

  • 当选择“安全模式”,自动配置为“true”
  • 当选择“普通模式”,自动配置为“false”

对于已经安装好的Flink集群,用户可以通过查看配置的值来区分当前安装的是安全模式还是普通模式。

自动配置

仅MRS 3.x及之后版本

rest.bind-port

web端口,支持范围:32261-32325。

32261-32325

jobmanager.web.history

显示“flink.security.enable”最近的job数目。

5

jobmanager.web.checkpoints.disable

禁用checkpoint统计。

false

jobmanager.web.checkpoints.history

Checkpoint统计记录数。

10

jobmanager.web.backpressure.cleanup-interval

未访问反压记录清理周期。单位:ms。

600000

jobmanager.web.backpressure.refresh-interval

反压记录刷新周期。单位:ms。

60000

jobmanager.web.backpressure.num-samples

计算反压使用的堆栈跟踪记录数。

100

jobmanager.web.backpressure.delay-between-samples

计算反压的采样间隔。单位:ms

50

jobmanager.web.ssl.enabled

web是否使用SSL加密传输,仅在全局开关security.ssl开启时有。

false

jobmanager.web.accesslog.enable

web操作日志使能开关,日志会存放在webaccess.log中。

true

jobmanager.web.x-frame-options

http安全头X-Frame-Options的值,可选范围为:SAMEORIGIN、DENY、ALLOW-FROM uri。

DENY

jobmanager.web.cache-directive

web页面是否支持缓存。

no-store:所有内容都不会被保存到缓存

jobmanager.web.expires-time

web页面缓存过期时长。单位:ms。

0

jobmanager.web.access-control-allow-origin

网页同源策略,防止跨域攻击。*表示允许任意网站跨域访问该服务端口,可配置为指定网址。

*(非安全集群)

jobmanager.web.refresh-interval

web网页刷新时间。单位:ms。

3000

jobmanager.web.logout-timer

配置无操作情况下自动登出时间间隔。单位:ms。

600000

jobmanager.web.403-redirect-url

web403页面,访问若遇到403错误,则会重定向到配置的页面。

自动配置

jobmanager.web.404-redirect-url

web404页面,访问若遇到404错误,则会重定向到配置的页面。

自动配置

jobmanager.web.415-redirect-url

web415页面,访问若遇到415错误,则会重定向到配置的页面。

自动配置

jobmanager.web.500-redirect-url

web500页面,访问若遇到500错误,则会重定向到配置的页面。

自动配置

rest.await-leader-timeout

客户端等待Leader地址的时间(以ms为单位)。

30000

rest.client.max-content-length

客户端处理的最大内容长度(以字节为单位)。

104857600

rest.connection-timeout

客户端建立TCP连接的最长时间(以ms为单位)。

15000

rest.idleness-timeout

连接保持空闲状态的最长时间(以ms为单位)。

300000

rest.retry.delay

客户端在连续重试之间等待的时间(以ms为单位)。

3000

rest.retry.max-attempts

如果可重试算子操作失败,客户端将尝试重试的次数。

20

rest.server.max-content-length

服务端处理的最大内容长度(以字节为单位)。

104857600

rest.server.numThreads

异步处理请求的最大线程数。

4

web.timeout

web监控超时时间(以ms为单位)。

10000

File Systems

表7 File Systems参数说明

参数

描述

默认值

是否必选

fs.overwrite-files

文件输出写操作是否默认覆盖已有文件。

false

fs.output.always-create-directory

当文件写入程序的并行度大于1时,输出文件的路径下会创建一个目录,并将不同的结果文件(每个并行写程序任务)放入该目录。

  • 设置为true,那么并行度为1的写入程序也将创建一个目录并将一个结果文件放入其中。
  • 设置为false,则并行度为1的写入程序将直接在输出路径中创建文件,而不再创建目录。

false

State Backend

表8 State Backend参数说明

参数

描述

默认值

是否必选

state.backend.fs.checkpointdir

当backend为filesystem时的路径,路径必须能够被JobManager访问到,本地路径只支持local模式,集群模式下请使用HDFS路径。

hdfs:///flink/checkpoints

state.savepoints.dir

Flink用于恢复和更新作业的保存点存储目录。当触发保存点的时候,保存点元数据信息将会保存到该目录中。

hdfs:///flink/savepoint

安全模式下必配

restart-strategy

默认重启策略,用于未指定重启策略的作业:

  • fixed-delay
  • failure-rate
  • none

none

restart-strategy.fixed-delay.attempts

fixed-delay策略重试次数。

  • 作业中开启了checkpoint,默认值为Integer.MAX_VALUE。
  • 作业中未开启checkpoint,默认值为3。

restart-strategy.fixed-delay.delay

fixed-delay策略重试间隔时间。单位:ms/s/m/h/d。

  • 作业中开启了checkpoint,默认值是10 s。
  • 作业中未开启checkpoint,默认值和配置项akka.ask.timeout的值一致。

restart-strategy.failure-rate.max-failures-per-interval

故障率策略下作业失败前给定时间段内的最大重启次数。

1

restart-strategy.failure-rate.failure-rate-interval

failure-rate策略重试时间。单位:ms/s/m/h/d。

60 s

restart-strategy.failure-rate.delay

failure-rate策略重试间隔时间。单位:ms/s/m/h/d。

默认值和akka.ask.timeout配置值一样。可参考Distributed Coordination (via Akka)

Kerberos-based Security

表9 Kerberos-based Security参数说明

参数

描述

默认值

是否必选

security.kerberos.login.keytab

该参数为客户端参数,keytab路径。

根据实际业务配置

security.kerberos.login.principal

该参数为客户端参数,如果keytab和principal都设置,默认会使用keytab认证。

根据实际业务配置

security.kerberos.login.contexts

该参数为服务器端参数,flink生成jass文件的contexts。

Client、KafkaClient

HA

表10 HA参数说明

参数

描述

默认值

是否必选

high-availability

HA模式,是启用HA还是非HA模式。当前支持两种模式:

  • none,只运行单个jobManager,jobManager的状态不进行Checkpoint。
  • ZooKeeper。
    • 非YARN模式下,支持多个jobManager,通过选举产生leader。
    • YARN模式下只存在一个jobManager。

zookeeper

high-availability.zookeeper.quorum

ZooKeeper quorum地址。

自动配置

high-availability.zookeeper.path.root

Flink在ZooKeeper上创建的根目录,存放HA模式必须的元数据。

/flink

high-availability.storageDir

存放state backend中JobManager元数据,ZooKeeper只保存实际数据的指针。

hdfs:///flink/recovery

high-availability.zookeeper.client.session-timeout

ZooKeeper客户端会话超时时间。单位:ms。

60000

high-availability.zookeeper.client.connection-timeout

ZooKeeper客户端连接超时时间。单位:ms。

15000

high-availability.zookeeper.client.retry-wait

ZooKeeper客户端重试等待时间。单位:ms。

5000

high-availability.zookeeper.client.max-retry-attempts

ZooKeeper客户端最大重试次数。

3

high-availability.job.delay

当jobManager恢复后重启job的延迟时间。

仅适用于MRS 3.x及之后版本。

默认值和akka.ask.timeout配置值保持一致

high-availability.zookeeper.client.acl

设置ZooKeeper节点的ACL (open creator),按照集群的安全模式自动配置。设置ACL选项请参考:https://zookeeper.apache.org/doc/r3.5.1-alpha/zookeeperProgrammers.html#sc_BuiltinACLSchemes

  • 安全模式:creator
  • 非安全模式:open

zookeeper.sasl.disable

基于SASL认证的使能开关,按照集群的安全模式自动配置:。

  • 安全模式:false
  • 非安全模式:true

zookeeper.sasl.service-name

  • 如果ZooKeeper服务端配置了不同于“ZooKeeper”的服务名,可以设置此配置项。
  • 如果客户端和服务端的服务名不一致,认证会失败。

zookeeper

Environment

表11 Environment参数说明

参数

描述

默认值

是否必选

env.java.opts

JVM参数,会传递到启动脚本,JobManager,TaskManager,Yarn客户端。比如传递远程调试的参数等。

-Xloggc:<LOG_DIR>/gc.log -XX:+PrintGCDetails -XX:-OmitStackTraceInFastThrow -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=20 -XX:GCLogFileSize=20M -Djdk.tls.ephemeralDHKeySize=2048 -Djava.library.path=${HADOOP_COMMON_HOME}/lib/native -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false -Dbeetle.application.home.path=/opt/xxx/Bigdata/common/runtime/security/config

Yarn

表12 Yarn参数说明

参数

描述

默认值

是否必选

yarn.maximum-failed-containers

当TaskManager所属容器出错后,重新申请container次数。默认值为Flink集群启动时TaskManager的数量。

5

yarn.application-attempts

Application master重启次数,次数是算在一个validity interval的最大次数,validity interval在flink中设置为akka的timeout。重启后AM的地址和端口会变化,client需要手动连接。

2

yarn.heartbeat-delay

Application Master和YARN Resource Manager心跳的时间间隔。单位:seconds

5

yarn.containers.vcores

每个Yarn容器的虚拟核数。

TaskManager的slot数

yarn.application-master.port

Application Master端口号设置,支持端口范围。

32586-32650

Pipeline

适用于MRS 3.x及之后版本。

表13 Pipeline参数说明

参数

描述

默认值

是否必选

nettyconnector.registerserver.topic.storage

设置NettySink的IP、端口及并发度信息在第三方注册服务器上的路径。建议用户使用ZooKeeper进行存储。

/flink/nettyconnector

否,当使用pipeline特性为必选

nettyconnector.sinkserver.port.range

设置NettySink的端口范围。

28444-28843

否,当使用pipeline特性为必选

nettyconnector.ssl.enabled

设置NettySink与NettySource之间通信是否配置SSL加密。其中加密密钥以及加密协议等请参见SSL

false

否,当使用pipeline特性为必选

nettyconnector.message.delimiter

用来配置nettysink发送给nettysource消息的分隔符,长度为2-4个字节,不可包含“\n”, “ ”, “#” 。

默认使用“$_”

否,当使用pipeline特性为必选

提示

您即将访问非华为云网站,请注意账号财产安全

文档反馈

文档反馈

意见反馈

0/500

标记内容

同时提交标记内容