flink配置和内存

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flink配置和内存相关的知识,希望对你有一定的参考价值。

参考技术A 1.Hosts and Ports
metrics.internal.query-service.port "0" String Accepts a list of ports (“50100,50101”), ranges(“50100-50200”) or a combination of both.
rest.bind-address (none) String
rest.bind-port "8081" String
taskmanager.data.port 0 Integer 任务管理器的外部端口,用于数据交换操作。
taskmanager.host (none) String
taskmanager.rpc.port "0" String
2.Fault Tolerance
restart-strategy 重启策略 默认空
restart-strategy.fixed-delay.attempts 固定周期重启
restart-strategy.fixed-delay.delay 固定周期重启
restart-strategy.failure-rate.delay 失败率重启
restart-strategy.failure-rate.failure-rate-interval 失败率重启
restart-strategy.failure-rate.max-failures-per-interval 失败率重启

state.backend.incremental 增量checkpoint(仅对rocksdb支持)
state.backend.local-recovery 状态后端配置本地恢复,默认false,只支持键控状态后端
state.checkpoints.num-retained 保留的最大已完成检查点数,默认1
taskmanager.state.local.root-dirs 本地恢复的根目录
3.High Availability
high-availability 默认为NONE To enable high-availability, set this mode to "ZOOKEEPER" or specify FQN of factory class.
high-availability.cluster-id 高可用flink集群ID
high-availability.storageDir 元数据路径

high-availability.zookeeper.path.root 配置ZK路径
high-availability.zookeeper.quorum 配置ZK集群
4.Memory Configuration
在大多数情况下,用户只需要设置值taskmanager.memory.process.size或taskmanager.memory.flink.size(取决于设置方式),并可能通过调整JVM堆与托管内存的比率taskmanager.memory.managed.fraction。
jobmanager.memory.enable-jvm-direct-memory-limit 是否启用jm进程的JVM直接内存限制,默认false
jobmanager.memory.flink.size 默认none。这包括JobManager消耗的所有内存。非容器配置
jobmanager.memory.heap.size 默认none。默认为总内存减去JVM,network,managed等
jobmanager.memory.jvm-metaspace.size jm的元空间大小,默认256mb
jobmanager.memory.jvm-overhead.fraction jm保留总进程内存的比例,默认0.1
jobmanager.memory.jvm-overhead.max 最大JVM开销,默认1gb
jobmanager.memory.jvm-overhead.min 最小JVM开销,默认192mb
jobmanager.memory.off-heap.size jm的堆外内存,默认128mb,如果第一个参数被启用,这个将生效
jobmanager.memory.process.size JobManager的总进程内存大小。容器化配置这个,为容器总大小
taskmanager.memory.flink.size TaskExecutor的总Flink内存大小。默认none,非容器配置
taskmanager.memory.framework.heap.size TaskExecutor的框架堆内存大小。默认128mb
taskmanager.memory.framework.off-heap.size TaskExecutor的框架堆外内存大小。默认128mb
taskmanager.memory.jvm-metaspace.size TaskExecutor的JVM元空间大小。默认256mb
taskmanager.memory.jvm-overhead.fraction 要为JVM开销保留的总进程内存的分数。默认0.1
taskmanager.memory.jvm-overhead.max TaskExecutor的最大JVM开销最大大小,默认1gb
taskmanager.memory.jvm-overhead.min TaskExecutor的最小JVM开销大小。默认192mb
taskmanager.memory.managed.consumer-weights 消费者权重。DATAPROC(用于流式RocksDB状态后端和批量内置算法)和PYTHON(用于Python进程),默认DATAPROC:70,PYTHON:30
taskmanager.memory.managed.fraction 如果未显式指定托管内存大小,则将用作托管内存的Flink总内存的分数,默认0.4
taskmanager.memory.managed.size TaskExecutor的托管内存大小。默认none
taskmanager.memory.network.fraction 用作网络内存的总Flink内存的分数,默认0.1
taskmanager.memory.network.max TaskExecutor的最大网络内存大小。默认1gb
taskmanager.memory.network.min TaskExecutor的最小网络内存大小。默认64mb
taskmanager.memory.process.size TaskExecutor的总进程内存大小。默认none,容器配置
taskmanager.memory.task.heap.size tm内存,默认none,
taskmanager.memory.task.off-heap.size tm堆外内存,默认0
5.Miscellaneous Options
fs.allowed-fallback-filesystems none
fs.default-scheme none
io.tmp.dirs 'LOCAL_DIRS' on Yarn. '_FLINK_TMP_DIR' on Mesos. System.getProperty("java.io.tmpdir") in standalone.

https://ci.apache.org/projects/flink/flink-docs-release-1.12/deployment/memory/mem_setup_tm.html

以上是关于flink配置和内存的主要内容,如果未能解决你的问题,请参考以下文章

Flink配置详解及实践

Flink性能调优(一)

Flink 1.12 内存和提交参数

Flink 1.12 内存和提交参数

流计算 Oceanus | Flink JVM 内存超限的分析方法总结

如何选择Apache Spark和Apache Flink?