Flink 1.13 一些配置参数记录

持续更新...

网络通信:

AkkaOptions类:

  1. akka.ask.timeout:用于异步futures和阻塞调用Akka的超时,如果flink因为超时而失败,则可以尝试增加此值,超时可能是由于机器速度慢或网络拥挤造成的。超时值需要时间单位说明符(ms/s/min/h/d)。源码默认值:10s。所属源码类:AkkaOptions。
  2. akka.tcp.timeout:用于和taskManager之间的通信,如果由于网络速度较慢而在连接TaskManager时遇到问题,则应增加此值。默认值:20s。源码类:AkkaOptions。
  3. akka.framesize:用于JobManager和TaskManager之间发送的最大消息大小,如果Flink失败是因为消息超过此限制,可以增加该值。消息大小需要大小单位说明符。默认值:10485760b(10m)。源码类:同上。
  4. akka.lookup.timeout:用于查找JobManager的超时。默认值10s。源码类:同上。

JobManagerOptions类:

  1. slot.idle.timeout:插槽池中空闲slot的超时时间。默认:50000L(取的HeartbeatManagerOptions.HEARTBEAT_TIMEOUT.defaultValue)
  2. slot.request.timeout:从插槽池中请求一个插槽的超时时间。默认5*60*1000

TaskManagerOptions类:

  1. taskmanager.slot.timeout:用于标识非活动插槽的超时。如果插槽在给定时间内未处于活动状态,TaskManager将释放该插槽。过时的插槽请求可能会导致非活动插槽。默认10s。
  2. taskmanager.numberOfTaskSlots:单个TaskManager可以运行的并行算子或用户函数实例数。如果此值大于1,则单个TaskManager将获取函数或运算符的多个实例。这样,TaskManager可以利用多个CPU核,但同时,可用内存在不同的操作员或函数实例之间分配。该值通常与TaskManager机器拥有的物理CPU内核数成比例(例如,等于内核数,或内核数的一半)。

CheckpointingOptions类:

  1. state.backend.incremental:选项状态后端是否应创建增量检查点(如果可能)。对于增量检查点,只存储与前一个检查点的差异,而不是完整的检查点状态。启用后,web UI中显示的或从rest API获取的状态大小仅表示增量检查点大小,而不是完整检查点大小。某些状态后端可能不支持增量检查点并忽略此选项。默认值:false。
  2. state.backend.local-recovery:此选项配置此状态后端的本地恢复。默认情况下,本地恢复处于停用状态。本地恢复目前只覆盖键控状态后端。目前,MemoryStateBackend和HashMapStateBackend不支持本地恢复,请忽略此选项。默认值:false。
  3. state.savepoints.dir(savepoints.state.backend.fs.dir):保存点的默认目录。由将保存点写入文件系统的状态后端使用(HashMapStateBackend、EmbeddedRocksDBStateBackend)。
  4. state.checkpoints.dir(state.backend.fs.checkpointdir):默认目录,用于在支持Flink的文件系统中存储检查点的数据文件和元数据。存储路径必须可从所有参与进程/节点(即所有TaskManager和JobManager)访问。
  5. state.backend:用于在执行期间在集群内本地存储操作员状态的检查点存储。
    可以通过快捷方式名称或StateBackendFactory的类名指定实现。如果指定了StateBackendFactory类名,则会实例化该工厂(通过其零参数构造函数),并调用其StateBackendFactory#createFromConfig(ReadableConfig,ClassLoader)方法。
    可识别的快捷方式名称为“hashmap”和“rocksdb”。源码使用在类StateBackendLoader#loadUnwrappedStateBackendFromConfig():Recognized shortcut names are '"hashmap"', '"rocksdb"' '"jobmanager"' (Deprecated), and '"filesystem"' (Deprecated)。也可以自定义状态后端,实现工厂接口,已名称来创建实例。
  6. state.backend.changelog.enabled:是否启用状态后端将状态更改写入StateChangelog。默认值:false。

HeartbeatManagerOptions:心跳管理

  1. heartbeat.interval:从发送方请求心跳信号的时间间隔。默认:10000L。
  2. heartbeat.timeout:发送方和接收方请求和接收心跳的超时。默认50000L。

ExecutionOptions:datastream java的执行配置选项

  1. execution.runtime-mode: 执行模式,默认streaming
  2. execution.checkpointing.snapshot-compression:ck的快照压缩。默认不压缩 false

ExecutionCheckpointingOptions:datastream java的执行ck配置选项

  1. execution.checkpointing.timeout:ck超时时间,默认10分钟
  2. execution.checkpointing.max-concurrent-checkpoints:ck的最大并行度,默认1
  3. execution.checkpointing.interval:ck的间隔时间,默认不触发,开启ck需要设置此值
  4. execution.checkpointing.unaligned:ck不对齐,默认false

ExecutionConfigOptions:执行配置选项

  1. table.exec.state.ttl:指定空闲状态的最短时间,(注意是未更新的状态的空闲时间,如果状态更新了,则更新状态时间)默认是0,不会清除状态,注意:这个可能会导致内存溢出等问题。很重要
  2. table.exec.source.idle-timeout:对于flinksql,设置了watermark,之前版本,如果kafka没有数据了,那么watermark就不会推进了,导致最后的结果没法计算出来,因为计算是根据watermark去推进计算,这个超时时间,表示暂时标记空闲,允许下游无需等待即可推进watermark任务。默认值为0:未启用检测源空闲。
  3. table.exec.mini-batch.enabled:指定是否启用minibatch优化,用于缓存输入记录,以减少状态的访问。默认false,要启用该配置,则必须指定table.exec.mini-batch.allowlatency和table.exec.mini-batch.size两个值。这也是重要值。
  4. table.exec.mini-batch.allow-latency:设置延迟间隔,比如设置 5s 。每5秒输出
  5. table.exec.mini-batch.size:达到多少size作为一批来输出。比如5000 条输出
  6. table.exec.async-lookup.buffer-capacity:flink默认没有实现异步的,但是提供了异步接口AsyncTableFunction,该参数用于缓存的维表条数,默认100条。只对异步接口有效
  7. table.exec.async-lookup.timeout:同上,异步缓存的超时时间,默认3min分钟,根据外部存储库的性能来定,也根据自己设定的内存,以免内存溢出。
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值