flink生产环境参数配置

1.flink生产环境配置

2.flink 可配置参数

2.1常用选项

默认 描述
jobmanager.heap.size 1024MB JobManager的JVM堆大小。
taskmanager.heap.size 1024MB TaskManager的JVM堆大小,它们是系统的并行工作器。在YARN设置上,此值会自动配置为TaskManager的YARN容器的大小减去某个公差值。
parallelism.default 1个 作业的默认并行性。
taskmanager.numberOfTaskSlots 1个 单个TaskManager可以运行的并行运算符或用户功能实例的数量。如果此值大于1,则单个TaskManager会使用一个函数或运算符的多个实例。这样,TaskManager可以利用多个CPU内核,但是同时,可用内存在不同的运算符或函数实例之间分配。该值通常与TaskManager的计算机具有的物理CPU内核数成比例(例如,等于内核数或内核数的一半)。
state.backend 用于存储和检查点状态的状态后端。
state.checkpoints.dir 用于在Flink支持的文件系统中存储检查点的数据文件和元数据的默认目录。必须从所有参与的进程/节点(即所有TaskManager和JobManager)访问存储路径。
state.savepoints.dir 保存点的默认目录。由状态后端用于将保存点写入文件系统(MemoryStateBackend,FsStateBackend,RocksDBStateBackend)。
high-availability 定义用于集群执行的高可用性模式。要启用高可用性,请将此模式设置为“ ZOOKEEPER”或指定工厂类的FQN。
high-availability.storageDir Flink将元数据保留在高可用性设置中的文件系统路径(URI)。
security.ssl.internal.enabled false 打开SSL以进行内部网络通信。(可选)特定组件可以通过其自己的设置(rpc,数据传输,REST等)覆盖此设置。
security.ssl.rest.enabled false 开启SSL以通过REST端点进行外部通信。

2.2 Core

默认 描述
classloader.parent-first-patterns.additional (以分号分隔)的模式列表,该模式指定应始终首先通过父ClassLoader解析哪些类。模式是一个简单的前缀,将根据完全限定的类名进行检查。这些模式被附加到“ classloader.parent-first-patterns.default”。
classloader.parent-first-patterns.default (以分号分隔)的模式列表,该模式指定应始终首先通过父ClassLoader解析哪些类。模式是一个简单的前缀,将根据完全限定的类名进行检查。通常不应修改此设置。要添加其他模式,我们建议改用“ classloader.parent-first-patterns.additional”。
classloader.resolve-order “child-first” 在从用户代码加载类时定义类解析策略,即是先检查用户代码jar(“子优先”)还是应用程序类路径(“父优先”)。默认设置指示首先从用户代码jar加载类,这意味着用户代码jar可以包含和加载与Flink所使用的(依赖)不同的依赖关系。
io.tmp.dirs 临时文件的目录的分隔方式,一般自己定个文件夹路径
parallelism.default 1个 作业的默认并行性。

2.3 JobManager

默认 描述
jobmanager.archive.fs.dir JobManager目录,用于存储已完成作业的档案。
jobmanager.execution.attempts-history-size 16 历史记录中保留的最大先前执行尝试次数。
jobmanager.execution.failover-strategy full 此选项指定作业计算如何从任务失败中恢复。可接受的值为:‘full’:重新启动所有任务以恢复作业。“region”:重新启动可能受任务故障影响的所有任务。
jobmanager.heap.size 1024MB JobManager的JVM堆大小。
jobmanager.rpc.address (没有) config参数,用于定义要与作业管理器进行通信的网络地址。仅在存在具有静态名称或地址的单个JobManager的设置(简单的独立设置或具有动态服务名称解析的容器设置)中,才解释该值。当使用领导者选择服务(例如ZooKeeper)从潜在的多个备用JobManager中选择和发现JobManager领导者时,在许多高可用性设置中就不会使用它。
jobmanager.rpc.port 6123 config参数,用于定义要与作业管理器进行通信的网络端口。与jobmanager.rpc.address一样,此值仅在存在单个具有静态名称/地址和端口的JobManager的设置(简单的独立设置或具有动态服务名称解析的容器设置)中进行解释。当使用领导者选举服务(例如ZooKeeper)从潜在的多个备用JobManager中选举和发现JobManager领导者时,此配置选项在许多高可用性设置中不使用。
jobstore.cache-size 52428800(50MB) 作业存储高速缓存大小(以字节为单位),用于将完成的作业保留在内存中。
jobstore.expiration-time 3600 完成的作业到期并从作业存储中清除之后的时间(以秒为单位)。
slot.idle.timeout 50000 插槽池中空闲插槽的超时时间(以毫秒为单位)。
slot.request.timeout 300000 从插槽池请求插槽的超时时间(以毫秒为单位)。

2.4 TaskManager

默认 描述
task.cancellation.interval 30000 两次连续的任务取消尝试之间的时间间隔(以毫秒为单位)。
task.cancellation.timeout 180000 超时(毫秒),之后任务取消超时并导致致命的TaskManager错误。值为0将禁用看门狗。
task.cancellation.timers.timeout 7500 当流任务被取消时,我们等待计时器的时间(以毫秒为单位)完成所有待处理的计时器线程。
task.checkpoint.alignment.max-size -1 检查点对齐可以缓冲的最大字节数。如果检查点对齐缓冲的数据量大于配置的数据量,则检查点将中止(跳过)。值-1表示没有限制。
taskmanager.debug.memory.log false 指示是否启动线程的标志,该线程重复记录JVM的内存使用情况。
taskmanager.debug.memory.log-interval 5000 日志线程记录当前内存使用情况的时间间隔(以毫秒为单位)。
taskmanager.exit-on-fatal-akka-error false 是否应启动任务管理器的隔离监控器。如果隔离监视程序检测到它已经隔离了另一个角色系统,或者已被另一个角色系统隔离,则隔离器将关闭该角色系统
taskmanager.heap.size 1024m TaskManager的JVM堆大小,它们是系统的并行工作器。在YARN设置上,此值会自动配置为TaskManager的YARN容器的大小减去某个公差值。
taskmanager.host TaskManager绑定到的网络接口的地址。此选项可用于显式定义绑定地址。因为不同的TaskManager对此选项需要不同的值,所以通常在其他非共享TaskManager特定的配置文件中指定它。
taskmanager.jvm-exit-on-oom false 当任务线程抛出OutOfMemoryError时是否杀死TaskManager。
taskmanager.network.bind-policy ip 如果未设置“ taskmanager.host”,则TaskManager使用的自动地址绑定策略。该值应为以下之一:“name”-使用主机名作为绑定地址“ ip”-使用主机的IP地址作为绑定地址
taskmanager.numberOfTaskSlots 1个 单个TaskManager可以运行的并行运算符或用户功能实例的数量。如果此值大于1,则单个TaskManager会使用一个函数或运算符的多个实例。这样,TaskManager可以利用多个CPU内核,但是同时,可用内存在不同的运算符或函数实例之间分配。该值通常与TaskManager的计算机具有的物理CPU内核数成比例(例如,等于内核数或内核数的一半)。
taskmanager.registration.initial-backoff 500ms 两次连续注册尝试之间的初始注册退避。对于每次新的注册尝试,补偿都会加倍,直到达到最大注册补偿。
taskmanager.registration.max-backoff 30 两次连续注册尝试之间的最大注册退避。最大注册回退需要时间单位说明符(ms / s / min / h / d)。
Taskmanager.registration.refused-backoff 10 在重试连接之前,JobManager拒绝了注册后的退还。
taskmanager.registration.timeout 5min 定义TaskManager注册的超时。如果超过时长而没有成功注册,则TaskManager终止。
taskmanager.rpc.port 0 任务管理器的IPC端口。接受端口列表(“ 50100,50101”),范围(“ 50100-50200”)或两者的组合。建议设置一定范围的端口,以避免在同一台计算机上运行多个TaskManager时发生冲突。

2.5 分布式协调

默认 描述
cluster.evenly-spread-out-slots false 启用插槽扩展分配策略。该策略试图将插槽平均分配到所有可用插槽中TaskExecutors
cluster.registration.error-delay 10000 尝试注册后进行的暂停导致异常(超时除外),以毫秒为单位。
cluster.registration.initial-timeout 100 群集组件之间的初始注册超时(以毫秒为单位)。
cluster.registration.max-timeout 30000 群集组件之间的最大注册超时(以毫秒为单位)。
cluster.registration.refused-registration-delay 30000 尝试注册后的暂停时间(以毫秒为单位)被拒绝。
cluster.services.shutdown-timeout 30000 群集服务(例如执行程序)的关闭超时(以毫秒为单位)。

2.6 分布式协调(通过Akka)

默认 描述
akka.ask.timeout 10s 用于所有期货并阻止Akka呼叫的超时。如果Flink由于超时而失败,则应尝试增加此值。超时可能是由于计算机运行缓慢或网络拥塞引起的。超时值需要一个时间单位说明符(ms / s / min / h / d)。
akka.client-socket-worker-pool.pool-size-factor 1.0 池大小因子使用以下公式确定线程池大小:ceil(available processors * factor)。然后,结果大小受pool-size-min和pool-size-max值限制。
akka.client-socket-worker-pool.pool-size-max 2 要限制基于因素的最大线程数。
akka.client-socket-worker-pool.pool-size-min 1个 最小线程数以上限为基础。
akka.client.timeout 60s 客户端上所有阻塞呼叫的超时。
akka.fork-join-executor.parallelism-factor 2.0 并行度因子用于通过以下公式确定线程池大小:ceil(available processors * factor)。然后,所得到的大小由并行度最小值和并行度最大值限制。
akka.fork-join-executor.parallelism-max 64 最大线程数上限为基于因子的并行数。
akka.fork-join-executor.parallelism-min 8 最小线程数以基于因素的并行度为上限。
akka.framesize 10485760b(10MB) 在JobManager和TaskManager之间发送的消息的最大大小。如果Flink因消息超出此限制而失败,则应增加该限制。消息大小需要大小单位说明符。
akka.jvm-exit-on-fatal-error true 在致命的Akka错误上退出JVM
akka.log.lifecycle.events false 打开Akka的事件远程记录。调试时将此值设置为“ true”。
akka.lookup.timeout 10s 用于查找JobManager的超时。超时值必须包含一个时间单位说明符(ms / s / min / h / d)。
akka.retry-gate-closed-for 50 断开远程连接后,应关闭毫秒的门。
akka.server-socket-worker-pool.pool-size-factor 1.0 池大小因子使用以下公式确定线程池大小:ceil(available processors * factor)。然后,结果大小受pool-size-min和pool-size-max值限制。
akka.server-socket-worker-pool.pool-size-max 2 要限制基于因素的最大线程数。
akka.server-socket-worker-pool.pool-size-min 1个 最小线程数以上限为基础。
akka.ssl.enabled true 启用SSL以进行Akka的远程通信。这仅在全局ssl标志security.ssl.enabled设置为true时适用。
akka.startup-timeout 超时之后,远程组件的启动被视为失败。
akka.tcp.timeout 20s 所有出站连接超时。如果由于网络速度慢而在连接TaskManager时遇到问题,则应增加此值。
akka.throughput 15 将线程返回池之前,在批处理中处理的消息数。低值表示合理的调度,而高值则可以以不公平为代价提高性能。
akka.transport.heartbeat.interval 1000s Akka运输故障检测器的心跳间隔。由于Flink使用TCP,因此不需要检测器。因此,通过将间隔设置为非常高的值来禁用检测器。如果您需要运输故障检测器,请将间隔设置为合理的值。间隔值需要一个时间单位说明符(ms / s / min / h / d)。
akka.transport.heartbeat.pause 6000s Akka的运输故障检测器可以接受的心跳暂停。由于Flink使用TCP,因此不需要检测器。因此,通过将暂停设置为很高的值来禁用检测器。如果您需要运输故障检测器,请将暂停设置为合理的值。暂停值需要一个时间单位说明符(ms / s / min / h / d)。
akka.transport.threshold 300.0 运输故障检测器的阈值。由于Flink使用TCP,因此检测器不是必需的,因此将阈值设置为较高的值。
akka.watch.heartbeat.interval 10s Akka的DeathWatch机制的心跳间隔,用于检测失效的TaskManager。如果由于丢失或延迟的心跳消息而错误地将TaskManager标记为无效,则应减小此值或增加akka.watch.heartbeat.pause。
akka.watch.heartbeat.pause 60s Akka的DeathWatch机制可以接受的心跳暂停。较低的值不允许不规则的心跳。如果由于丢失或延迟的心跳消息而错误地将TaskManager标记为无效,则应增加此值或减小akka.watch.heartbeat.interval。较高的值会增加检测死的TaskManager的时间。
akka.watch.threshold 12 DeathWatch故障检测器的阈值。较低的值容易产生误报,而较高的值会增加检测到死机TaskManager的时间

2.7 REST

默认 描述
rest.address 客户端用于连接服务器的地址。
rest.await-leader-timeout 30000 客户端等待领导者地址的时间(以毫秒为单位),例如Dispatcher或WebMonitorEndpoint
rest.bind-address 服务器绑定自身的地址。
rest.bind-port 8081 服务器绑定自身的端口。接受端口列表(“ 50100,50101”),范围(“ 50100-50200”)或两者的组合。建议设置一定范围的端口,以防止在同一台计算机上运行多个Rest服务器时发生冲突。
rest.client.max-content-length 104857600(100MB) 客户端将处理的最大内容长度(以字节为单位)。
rest.connection-timeout 15000 客户端建立TCP连接的最长时间(以毫秒为单位)。
rest.idleness-timeout 300000 连接在失败之前保持空闲状态的最长时间(以毫秒为单位)。
rest.port 8081 客户端连接到的端口。如果未指定rest.bind-port,则REST服务器将绑定到该端口。
rest.retry.delay 3000 客户端在重试之间等待的时间(以毫秒为单位)(另请参见“ rest.retry.max-attempts”)。
rest.retry.max-attempts 20 如果可重试操作失败,客户端将尝试的重试次数。
rest.server.max-content-length 104857600 服务器将处理的最大内容长度(以字节为单位)。
rest.server.numThreads 4 用于异步处理请求的线程数。
rest.server.thread-priority 5 REST服务器执行程序用于处理异步请求的线程优先级。降低线程优先级将使Flink的主要组件有更多的CPU时间,而增加线程的优先级将为REST服务器的处理分配更多时间。

2.8 Blob Server

默认 描述
blob.client.connect.timeout 0 Blob客户端的连接超时(以毫秒为单位)。
blob.client.socket.timeout 300000 Blob客户端的套接字超时(以毫秒为单位)。
blob.fetch.backlog 1000 定义BLOB积压的config参数在JobManager上获取。
blob.fetch.num-concurrent 50 config参数定义JobManager服务的最大并发BLOB读取次数。
blob.fetch.retries 5 config参数定义失败的BLOB提取的退休次数。
blob.offload.minsize 1048576 邮件要卸载到BlobServer的最小大小。
blob.server.port 0 config参数定义Blob服务的服务器端口。
blob.service.cleanup.interval 3600 任务管理器中Blob缓存的清理间隔(以秒为单位)。
blob.service.ssl.enabled true 标记以覆盖对blob服务传输的ssl支持。
blob.storage.directory config参数定义blob服务器要使用的存储目录。

2.9 Heartbeat Manager

默认 描述
heartbeat.interval 10000 从发送方请求心跳的时间间隔。
heartbeat.timeout 50000 发送方和接收方双方请求和接收心跳的超时。

2.10 SSL设置

默认 描述
security.ssl.algorithms 要支持的标准SSL算法的逗号分隔列表。
security.ssl.internal.close-notify-flush-timeout -1 刷新由关闭通道触发的close_notify的超时(以毫秒为单位)。如果在给定的超时时间内没有刷新close_notify,通道将被强制关闭。(-1 =使用系统默认值)
security.ssl.internal.enabled false 打开SSL以进行内部网络通信。(可选)特定组件可以通过其自己的设置(rpc,数据传输,REST等)覆盖此设置。
security.ssl.internal.shake-timeout -1 SSL握手期间的超时(以毫秒为单位)。(-1 =使用系统默认值)
security.ssl.internal.key-password none 在Flink的内部端点(rpc,数据传输,blob服务器)的密钥库中解密密钥的秘密。
security.ssl.internal.keystore none 具有SSL密钥和证书的Java密钥库文件,将用于Flink的内部端点(rpc,数据传输,blob服务器)。
security.ssl.internal.keystore-password none 解密Flink内部端点(rpc,数据传输,blob服务器)的Flink密钥库文件的秘诀。
security.ssl.internal.session-cache-size -1 用于存储SSL会话对象的缓存的大小。根据https://github.com/netty/netty/issues/832,您应该始终将其设置为适当的数字,以免在垃圾回收期间遇到因拖延IO线程而导致错误的错误。(-1 =使用系统默认值)。
security.ssl.internal.session-timeout -1 缓存的SSL会话对象的超时(以毫秒为单位)。(-1 =使用系统默认值)
security.ssl.internal.truststore none 包含公共CA证书的信任库文件,用于验证Flink内部端点(rpc,数据传输,blob服务器)的对等方。
security.ssl.internal.truststore-password none 用于解密Flink内部端点(rpc,数据传输,blob服务器)的信任库的密码。
security.ssl.key-password none 解密密钥库中服务器密钥的秘密。
security.ssl.keystore none flink端点将其SSL密钥和证书使用的Java密钥库文件。
security.ssl.keystore-password none 解密密钥库文件的秘密。
security.ssl.protocol TLSv1.2 SSL传输支持的SSL协议版本。请注意,它不支持以逗号分隔的列表。
security.ssl.provider JDK 用于ssl传输的SSL引擎提供程序:JDK:默认的基于Java的SSL引擎OPENSSL:使用系统库的基于openSSL的SSL引擎OPENSSL基于netty-tcnative,有两种风格:动态链接:这将使用系统的openSSL库(如果兼容),并且需要opt/flink-shaded-netty-tcnative-dynamic-*.jar将其复制到lib/静态链接:由于openSSL可能存在许可问题(请参阅LEGAL-393),我们无法交付预构建的库。但是,您可以自己构建所需的库并将其放入lib/git clone https://github.com/apache/flink-shaded.git && cd flink-shaded && mvn clean package -Pinclude-netty-tcnative-static -pl flink-shaded-netty-tcnative-static
security.ssl.rest.authentication-enabled false 打开用于通过REST端点进行外部通信的相互SSL身份验证。
security.ssl.rest.enabled false 开启SSL以通过REST端点进行外部通信。
security.ssl.rest.key-password none 在Flink的外部REST端点的密钥库中解密密钥的秘密。
security.ssl.rest.keystore none 带有SSL密钥和证书的Java密钥库文件,将用于Flink的外部REST端点。
security.ssl.rest.keystore-password none 为Flink的外部REST端点解密Flink的密钥库文件的秘诀。
security.ssl.rest.truststore none 包含公共CA证书的信任库文件,用于验证Flink的外部REST端点的对等方。
security.ssl.rest.truststore-password none 用于解密Flink的外部REST端点的信任库的密码。
security.ssl.truststore none 信任库文件包含flink端点用来验证对等方证书的公共CA证书。
security.ssl.truststore-password none 解密信任库的秘密。
security.ssl.verify-hostname true 标记以在ssl握手期间启用对等方的主机名验证。

2.11 Netty Shuffle环境

默认 描述
taskmanager.data.port 0 任务管理器的端口,用于数据交换操作。
taskmanager.data.ssl.enabled true 为任务管理器数据传输启用SSL支持。仅当内部SSL的全局标志(security.ssl.internal.enabled)设置为true时,这才适用
taskmanager.network.detailed-metrics false 布尔标志,用于启用/禁用有关入站/出站网络队列长度的更详细指标。
taskmanager.network.memory.buffers-per-channel 2 每个传出/传入通道(子分区/输入通道)要使用的最大网络缓冲区数。在基于信用的流量控制模式下,这指示每个输入通道中独占多少信用。为了获得良好的性能,应至少配置2个。1个缓冲区用于接收子分区中的运行中数据,而1个缓冲区用于并行串行化。
taskmanager.network.memory.floating-buffers-per-gate 8 每个传出/传入门(结果分区/输入门)使用的额外网络缓冲区数。在基于信用的流量控制模式下,这指示在所有输入通道之间共享多少浮动信用。浮动缓冲区是基于积压(子分区中的实时输出缓冲区)反馈进行分配的,可以帮助缓解子分区之间数据分配不平衡引起的背压。如果节点之间的往返时间较长和/或群集中的机器数量较大,则应增加该值。
taskmanager.network.memory.fraction 0.1 用于网络缓冲区的JVM内存的分数。这决定了TaskManager可以同时具有多少个流数据交换通道以及通道的缓冲程度。如果作业被拒绝,或者您收到系统没有足够可用缓冲区的警告,请增加此值或下面的最小值/最大值。另请注意,“ taskmanager.network.memory.min”和“ taskmanager.network.memory.max”可能会覆盖此分数。
taskmanager.network.memory.max 1GB 网络缓冲区的最大内存大小。
taskmanager.network.memory.min 64mb 网络缓冲区的最小内存大小。
taskmanager.network.request-backoff.initial 100 输入通道的分区请求的最小退避时间(以毫秒为单位)。
taskmanager.network.request-backoff.max 10000 输入通道分区请求的最大退避时间(以毫秒为单位)。

2.12 Network Communication (via Netty)

这些参数允许进行高级调整。在大型群集上运行并发的高吞吐量作业时,默认值已足够。

默认 描述
taskmanager.network.netty.client.connectTimeoutSec 120 Netty客户端连接超时。
taskmanager.network.netty.client.numThreads -1 Netty客户端线程的数量。
taskmanager.network.netty.num-arenas -1 Netty竞技场的数量。
taskmanager.network.netty.sendReceiveBufferSize 0 Netty发送和接收缓冲区的大小。默认为系统缓冲区大小(cat / proc / sys / net / ipv4 / tcp_ [rw] mem),在现代Linux中为4 MiB。
taskmanager.network.netty.server.backlog 0 Netty服务器连接积压。
taskmanager.network.netty.server.numThreads -1 Netty服务器线程数。
taskmanager.network.netty.transport nio Netty传输类型,“ nio”或“ epoll”

2.13 Web Frontend

默认 描述
web.access-control-allow-origin * 来自Web前端的所有响应的Access-Control-Allow-Origin标头。
web.address none 运行时监视器Web前端服务器的地址。
web.backpressure.cleanup-interval 600000 时间(以毫秒为单位),如果未访问,将在此时间之后清除缓存的统计信息。
web.backpressure.delay-between-samples 50 堆栈跟踪样本之间的延迟,以毫秒为单位确定背压。
web.backpressure.num-samples 100 确定背压所需的烟囱痕迹样本数。
web.backpressure.refresh-interval 60000 时间(以毫秒为单位),在此之后,不推荐使用可用的统计信息,并且需要刷新(通过重新采样)。
web.checkpoints.history 10 要记住的近期历史记录的检查点数。
web.history 5 JobManager的已存档作业数。
web.log.path none 日志文件的路径(对于独立文件,可能位于/ log中,但使用YARN时,位于日志目录下)。
web.refresh-interval 3000 Web前端的刷新间隔(以毫秒为单位)。
web.ssl.enabled true 指示是否覆盖JobManager Web UI的SSL支持的标志。
web.submit.enable true 指示是否可以从Web前端上载和运行作业的标志。
web.timeout 10000 Web监视器异步操作的超时时间(以毫秒为单位)。
web.tmpdir System.getProperty(“ java.io.tmpdir”) Flink Web监视器使用的Web目录。
web.upload.dir none 用于上传作业罐的目录。如果未指定,则将在JOB_MANAGER_WEB_TMPDIR_KEY指定的目录下使用动态目录。

2.14 文件系统

默认 描述
fs.default-scheme none 默认文件系统方案,用于未明确声明方案的路径。可能包含一个权限,例如,在HDFS NameNode的情况下,host:port。
fs.output.always-create-directory true 以大于1的并行度运行的文件编写器将为输出文件路径创建目录,并将不同的结果文件(每个并行编写器任务一个)放入该目录。如果将此选项设置为“ true”,则并行度为1的编写器还将创建目录并将单个结果文件放入其中。如果该选项设置为“ false”,则编写器将直接在输出路径上直接创建文件,而不创建包含目录。
fs.overwrite-files true 指定文件输出编写器默认情况下是否应覆盖现有文件。设置为“ true”以默认覆盖,否则设置为“ false”。

2.15 Compiler/Optimizer(编译器/优化器)

默认 描述
editor.delimited-informat.max-line-samples 10 编译器为定界输入获取的最大行样本数。样本用于估计记录数。可以使用输入格式的参数为特定输入覆盖此值。
compiler.delimited-informat.max-sample-len 2097152 编译器用于定界输入的线样本的最大长度。如果单个样本的长度超过此值(可能由于解析器配置错误而导致),则采样将中止。可以使用输入格式的参数为特定输入覆盖此值。
compiler.delimited-informat.min-line-samples 2 编译器为定界输入获取的最小行样本数。样本用于估计记录数。可以使用输入格式的参数为特定输入覆盖此值

2.16 Runtime Algorithms(运行时算法)

默认 描述
taskmanager.runtime.hashjoin-bloom-filters false 在混合哈希联接实现中标记以激活/停用布隆过滤器。如果散列连接需要溢出到磁盘(大于内存保留部分的数据集),这些布隆过滤器可以大大减少溢出记录的数量,但会花费一些CPU周期。
taskmanager.runtime.max-fan 128 用于外部合并联接的最大扇入和用于散列哈希表的最大扇出。限制每个运算符的文件句柄数量,但如果设置得太小,则可能导致中间合并/分区。
taskmanager.runtime.sort-spilling-threshold 0.8 当这部分内存预算已满时,排序操作就会开始溢出。

2.17 Resource Manager

本节中的配置键独立于所使用的资源管理框架(YARN,Mesos,Standalone等)

默认 描述
containerized.heap-cutoff-min 600 为了安全起见,在容器中要删除的最小堆内存量。
containerized.heap-cutoff-ratio 0.25 从容器(YARN / Mesos)中删除以补偿其他JVM内存使用的堆空间百分比。
local.number-resourcemanager 1个 开始数量的资源管理器。
resourcemanager.job.timeout 5min 没有分配工作经理作为领导者的工作超时。
resourcemanager.rpc.port 0 定义用于连接以与资源管理器通信的网络端口。默认情况下,是JobManager的端口,因为使用了相同的ActorSystem。无法使用此配置键来定义端口范围。
resourcemanager.standalone.start-up-time -1 独立集群启动时间(以毫秒为单位)。在这段时间内,独立集群的资源管理器期望新任务执行程序被注册,并且不会使任何当前已注册的插槽无法满足的插槽请求失败。在此时间之后,它将失败挂起,并且新出现的请求将立即被注册的插槽无法满足。如果未设置,则默认使用“ slotmanager.request-timeout”。
resourcemanager.taskmanager-timeout 30000 空闲任务管理器被释放的超时。

2.18 Shuffle Service

默认 描述
shuffle-service-factory.class org.apache.flink.runtime.io.network.NettyShuffleServiceFactory 集群将使用的洗牌服务工厂实现的完整类名。默认实现将Netty用于网络通信和本地内存以及磁盘空间,以将结果存储在TaskExecutor上。

2.19 Yarn

默认 描述
yarn.application-attempt-failures-validity-interval 10000 时间窗口(以毫秒为单位),用于定义重新启动AM时应用程序尝试失败的次数。不在此窗口范围内的故障将不予考虑。将此值设置为-1以便进行全局计数。有关更多信息,请参见此处。
yarn.application-attempts none ApplicationMaster重新启动的次数。请注意,整个Flink群集将重新启动,并且YARN Client将失去连接。另外,JobManager地址将更改,您需要手动设置JM host:port。建议将此选项保留为1。
yarn.application-master.port 0 使用此配置选项,用户可以为Application Master(和JobManager)RPC端口指定端口,端口范围或端口列表。默认情况下,我们建议使用默认值(0)让操作系统选择适当的端口。特别是当多个AM在同一物理主机上运行时,固定端口分配会阻止AM启动。例如,在具有限制性防火墙的环境中在YARN上运行Flink时,此选项允许指定允许的端口范围。
yarn.appmaster.rpc.address none 应用程序主RPC系统正在侦听的主机名或地址。
yarn.appmaster.rpc.port -1 应用程序主RPC系统正在侦听的端口。
yarn.appmaster.vcores 1个 YARN应用程序主机使用的虚拟核心(vcore)的数量。
yarn.containers.vcores -1 每个YARN容器的虚拟核心数(vcore)。默认情况下,vcore数设置为每个TaskManager的插槽数(如果已设置),否则设置为1。为了使用此参数,您的群集必须启用CPU调度。您可以通过设置来做到这一点org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler
yarn.heartbeat.container-request-interval 500 如果Flink请求容器,则使用ResourceManager进行心跳之间的时间(以毫秒为单位):该值越低,由于请求和分配是通过心跳传输的,因此Flink会更快地收到有关容器分配的通知。该值越低,可能分配的多余容器越多,这些容器最终将被释放,但对纱线造成压力。如果在ResourceManager上观察到太多的容器分配,则建议增加此值。有关更多信息,请参见此链接。
yarn.heartbeat.interval 5 使用ResourceManager进行心跳之间的时间(以秒为单位)。
yarn.maximum-failed-containers none 发生故障时系统将重新分配的最大容器数。
yarn.per-job-cluster.include-user-jar ORDER 定义是否为每个作业群集将用户jar包含在系统类路径中以及它们在路径中的位置。它们可以位于开头(“ FIRST”),结尾(“ LAST”),也可以基于其名称(“ ORDER”)进行定位。
yarn.properties-file.location none 当Flink作业提交到YARN时,JobManager的主机和可用处理插槽的数量将写入属性文件中,以便Flink客户端能够提取这些详细信息。此配置参数允许更改该文件的默认位置(例如,对于在用户之间共享Flink安装的环境)。
yarn.tags 以逗号分隔的标签列表,以应用于Flink YARN应用程序。

2.20 Mesos

默认 描述
mesos.failover-timeout 604800 Mesos调度程序的故障转移超时(以秒为单位),此后将自动关闭正在运行的任务。
mesos.master none Mesos主网址。该值应采用以下形式之一:主机:端口zk://主机1:端口1,主机2:端口2,… /路径zk://用户名:密码@主机1:端口1,主机2:端口2,… /路径文件:/// path / to / file
mesos.resourcemanager.artifactserver.port 0 定义要使用的Mesos工件服务器端口的config参数。将端口设置为0将使操作系统选择可用端口。
mesos.resourcemanager.artifactserver.ssl.enabled true 为Flink工件服务器启用SSL。请注意,还需要将security.ssl.enabled设置为true加密以启用加密。
mesos.resourcemanager.framework.name Flink Mesos框架名称
mesos.resourcemanager.framework.principal none Mesos框架主体
mesos.resourcemanager.framework.role * Mesos框架角色定义
mesos.resourcemanager.framework.secret none Mesos框架的秘密
mesos.resourcemanager.framework.user none Mesos框架用户
mesos.resourcemanager.tasks.port-assignments none 逗号分隔的配置密钥列表,代表可配置的端口。所有端口密钥将动态获取通过Mesos分配的端口。

2.21 Mesos任务管理器

默认 描述
mesos.constraints.hard.host属性 (没有) 基于代理属性在Mesos上进行任务放置的约束。获取与目标mesos代理公开的属性相对应的key:value对的逗号分隔列表。示例:az:eu-west-1a,series:t2
mesos.resourcemanager.tasks.bootstrap-cmd (没有) 启动TaskManager之前执行的命令。
mesos.resourcemanager.tasks.container.docker.force-pull-image 指示docker容器化程序强制拉取映像,而不是重复使用缓存的版本。
mesos.resourcemanager.tasks.container.docker.parameters (没有) 使用docker容器化程序时要传递到docker run命令的自定义参数。以逗号分隔的“键=值”对的列表。“值”可以包含“ =”。
mesos.resourcemanager.tasks.container.image.name (没有) 用于容器的图像名称。
mesos.resourcemanager.tasks.container.type “ mesos” 使用的容器化类型:“ mesos”或“ docker”。
mesos.resourcemanager.tasks.container.volumes (没有) 以逗号分隔的[host_path:] container_path [:RO | RW]列表。这样可以将其他卷安装到您的容器中。
mesos.resourcemanager.tasks.cpus 0.0 分配给Mesos工作程序的CPU。
mesos.resourcemanager.tasks.disk 0 分配给Mesos工作程序的磁盘空间,以MB为单位。
mesos.resourcemanager.tasks.gpus 0 分配给Mesos工作者的GPU。
mesos.resourcemanager.tasks.hostname (没有) 定义TaskManager的主机名的可选值。模式_TASK_被Mesos任务的实际ID代替。这可用于配置TaskManager以使用Mesos DNS(例如_TASK_.flink-service.mesos)进行名称查找。
mesos.resourcemanager.tasks.mem 1024 分配给Mesos工作程序的内存,以MB为单位。
mesos.resourcemanager.tasks.taskmanager-cmd “ $ FLINK_HOME / bin / mesos-taskmanager.sh”
mesos.resourcemanager.tasks.uris (没有) 将以逗号分隔的自定义工件的URI列表下载到Mesos worker的沙箱中。
taskmanager.numberOfTaskSlots 1个 单个TaskManager可以运行的并行运算符或用户功能实例的数量。如果此值大于1,则单个TaskManager会使用一个函数或运算符的多个实例。这样,TaskManager可以利用多个CPU内核,但是同时,可用内存在不同的运算符或函数实例之间分配。该值通常与TaskManager的计算机具有的物理CPU内核数成比例(例如,等于内核数或内核数的一半)。

2.22 High Availability

默认 描述
high-availability none 定义用于集群执行的高可用性模式。要启用高可用性,请将此模式设置为“ ZOOKEEPER”或指定工厂类的FQN。
high-availability.cluster-id “/default” Flink群集的ID,用于将多个Flink群集彼此分开。需要为独立群集设置,但是会在YARN和Mesos中自动推断出来。
high-availability.job.delay none 故障转移后JobManager恢复当前作业之前的时间。
high-availability.jobmanager.port 0 作业管理器在高可用性模式下使用的可选端口(范围)。
high-availability.storageDir none Flink将元数据保留在高可用性设置中的文件系统路径(URI)。

2.23 基于ZooKeeper的HA模式

默认 描述
high-availability.zookeeper.client.acl “open” 定义要在ZK节点上配置的ACL(open | creator)。如果ZooKeeper服务器配置的“ authProvider”属性映射为使用SASLAuthenticationProvider,并且群集配置为以安全模式(Kerberos)运行,则可以将配置值设置为“ creator”。
high-availability.zookeeper.client.connection-timeout 15000 定义ZooKeeper的连接超时(以毫秒为单位)。
high-availability.zookeeper.client.max-retry-attempts 3 定义客户端放弃之前的连接重试次数。
high-availability.zookeeper.client.retry-wait 5000 定义连续重试之间的间隔(以毫秒为单位)。
high-availability.zookeeper.client.session-timeout 60000 定义ZooKeeper会话的会话超时(以毫秒为单位)。
high-availability.zookeeper.path.checkpoint-counter “ / checkpoint-counter” 检查点计数器的ZooKeeper根路径(ZNode)。
high-availability.zookeeper.path.checkpoints “/leader” 完整检查点的ZooKeeper根路径(ZNode)。
high-availability.zookeeper.path.jobgraphs “ / jobgraphs” 作业图的ZooKeeper根路径(ZNode)
high-availability.zookeeper.path.latch “ / leaderlatch” 定义用于选举领导者的领导者锁存器的znode。
high-availability.zookeeper.path.leader “/leader” 定义领导者的znode,其中包含领导者的URL和当前领导者会话ID。
high-availability.zookeeper.path.mesos-workers “ / mesos-workers” ZooKeeper根路径,用于持久保存Mesos工作程序信息。
high-availability.zookeeper.path.root “ / flink” Flink将其条目存储在ZooKeeper中的根路径。
high-availability.zookeeper.path.running-registry “ / running_job_registry /”
high-availability.zookeeper.quorum none 使用ZooKeeper在高可用性模式下运行Flink时要使用的ZooKeeper仲裁。

2.24 ZooKeeper安全

默认 描述
zookeeper.sasl.disable false
zookeeper.sasl.login-context-name Client
zookeeper.sasl.service-name zookeeper

2.25 基于Kerberos的安全性

默认 描述
security.kerberos.login.contexts none 用逗号分隔的登录上下文列表,用于向其提供Kerberos凭据(例如,“ Client,KafkaClient”,用于将凭据用于ZooKeeper身份验证和Kafka身份验证)
security.kerberos.login.keytab none 包含用户凭据的Kerberos keytab文件的绝对路径。
security.kerberos.login.principal none 与密钥表关联的Kerberos主体名称。
security.kerberos.login.use-ticket-cache true 指示是否从Kerberos票证缓存中读取。

2.26 环境

默认 描述
env.hadoop.conf.dir none hadoop配置目录的路径。需要读取HDFS和/或YARN配置。您也可以通过环境变量进行设置。
env.java.opts none 用于启动所有Flink进程的JVM的Java选项。
env.java.opts.historyserver none 用于启动HistoryServer的JVM的Java选项。
env.java.opts.jobmanager none 用于启动JobManager的JVM的Java选项。
env.java.opts.taskmanager none 用于启动TaskManager的JVM的Java选项。
env.log.dir none 定义保存Flink日志的目录。它必须是一条绝对路径。(默认为Flink主目录下的日志目录)
env.log.max 5 要保留的最大旧日志文件数。
env.ssh.opts none 启动或停止JobManager,TaskManager和Zookeeper服务时,传递给SSH客户端的其他命令行选项(start-cluster.sh,stop-cluster.sh,start-zookeeper-quorum.sh,stop-zookeeper-quorum.sh)。
env.yarn.conf.dir none 纱线配置目录的路径。需要在YARN上运行flink。您也可以通过环境变量进行设置。

2.27 检查点

默认 描述
state.backend none 用于存储和检查点状态的状态后端。
state.backend.async true 选择状态后端是否应在可能且可配置的情况下使用异步快照方法。某些状态后端可能不支持异步快照,或仅支持异步快照,而忽略此选项。
state.backend.fs.memory-threshold 1024 状态数据文件的最小大小。所有小于状态块的状态块都以内联方式存储在根检查点元数据文件中。
state.backend.fs.write-buffer-size 4096 写入文件系统的检查点流的写缓冲区的默认大小。实际的写缓冲区大小确定为该选项和选项“ state.backend.fs.memory-threshold”的最大值。
state.backend.incremental false 选择状态后端是否应创建增量检查点(如果可能)。对于增量检查点,仅存储与前一个检查点的差异,而不存储完整的检查点状态。某些状态后端可能不支持增量检查点,因此会忽略此选项。
state.backend.local-recovery false 此选项为此状态后端配置本地恢复。默认情况下,本地恢复处于禁用状态。当前,本地恢复仅涵盖键控状态后端。当前,MemoryStateBackend不支持本地恢复,请忽略此选项。
state.checkpoints.dir none 用于在Flink支持的文件系统中存储检查点的数据文件和元数据的默认目录。必须从所有参与的进程/节点(即所有TaskManager和JobManager)访问存储路径。
state.checkpoints.num-retained 1个 要保留的最大已完成检查点数。
state.savepoints.dir none 保存点的默认目录。由状态后端用于将保存点写入文件系统(MemoryStateBackend,FsStateBackend,RocksDBStateBackend)。
taskmanager.state.local.root-dirs none config参数定义用于存储基于文件的状态以进行本地恢复的根目录。当前,本地恢复仅涵盖键控状态后端。当前,MemoryStateBackend不支持本地恢复,请忽略此选项

2.28 RocksDB状态后端

默认 描述
state.backend.rocksdb.checkpoint.transfer.thread.num 1个 RocksDBStateBackend中用于传输(下载和上传)文件的线程数(每个有状态运算符)。
state.backend.rocksdb.localdir none RocksDB放置其文件的本地目录(在TaskManager上)。
state.backend.rocksdb.options-factory org.apache.flink.contrib.streaming.state.DefaultConfigurableOptionsFactory” RocksDB的选项工厂类,用于创建DBOptions和ColumnFamilyOptions。默认选项工厂为org.apache.flink.contrib.streaming.state.DefaultConfigurableOptionsFactory,它将读取“ RocksDBConfigurableOptions”中提供的已配置选项。
state.backend.rocksdb.predefined-options “DEFAULT” Flink社区对RocksDB DBOptions和ColumnFamilyOptions的预定义设置。当前支持的候选预定义选项为DEFAULT,SPINNING_DISK_OPTIMIZED,SPINNING_DISK_OPTIMIZED_HIGH_MEM或FLASH_SSD_OPTIMIZED。请注意,用户自定义选项和OptionsFactory中的选项将应用在这些预定义的选项之上。
state.backend.rocksdb.timer-service.factory “HEAP” 这确定了计时器服务状态实现的工厂。对于基于RocksDB的实现,选项可以是HEAP(基于堆的默认值)或ROCKSDB。
state.backend.rocksdb.ttl.compaction.filter.enabled false 这确定是否为后端启用了使用TTL进行压缩的压缩过滤器。注意:用户仍可以在状态描述符的状态TTL配置中决定过滤器是否对特定状态处于活动状态。

2.29 RocksDB可配置选项

由Flink提供的特定RocksDB可配置选项,用于创建相应的ConfigurableOptionsFactory。和所生成的一个将被用作默认OptionsFactoryRocksDBStateBackend 除非用户定义一OptionsFactory通孔和一组RocksDBStateBackend.setOptions(optionsFactory)

默认 描述
state.backend.rocksdb.block.blocksize none 每个块打包的用户数据的近似大小(以字节为单位)。RocksDB的默认块大小为“ 4KB”。
state.backend.rocksdb.block.cache-size none RocksDB中数据块的缓存数量。RocksDB的默认块缓存大小为“ 8MB”。
state.backend.rocksdb.compaction.level.max-size-level-base none 级别基础文件的总大小的上限(以字节为单位)。RocksDB的默认配置为“ 256MB”。
state.backend.rocksdb.compaction.level.target-file-size-base none 压缩的目标文件大小,确定1级文件大小。RocksDB的默认配置为“ 64MB”。
state.backend.rocksdb.compaction.level.use-dynamic-size none 如果为true,则RocksDB将动态选择每个级别的目标大小。从一个空的数据库中,RocksDB会将最后一个级别设为基本级别,这意味着将L0数据合并到最后一个级别,直到超过max_bytes_for_level_base。然后对倒数第二个级别重复此过程,依此类推。RocksDB的默认配置为“ false”。有关更多信息,请参考RocksDB的文档。
state.backend.rocksdb.compaction.style none DB的指定压缩样式。候选压缩样式为LEVEL,FIFO或UNIVERSAL,而RocksDB选择“ LEVEL”作为默认样式。
state.backend.rocksdb.files.open none 数据库可以使用的最大打开文件数(每个TaskManager),“-1”表示没有限制。RocksDB的默认配置为“ -1”。
state.backend.rocksdb.thread.num none 并发后台刷新和压缩作业的最大数量(每个TaskManager)。RocksDB的默认配置为“ 1”。
state.backend.rocksdb.writebuffer.count none 在内存中建立的最大写缓冲区数。RocksDB的默认配置为“ 2”。
state.backend.rocksdb.writebuffer.number-to-merge none 写入存储之前将合并在一起的最小写缓冲区数。RocksDB的默认配置为“ 1”。
state.backend.rocksdb.writebuffer.size none 在转换为排序的磁盘文件之前,在内存中建立的数据量(由未排序的磁盘日志支持)。RocksDB的默认写缓冲区大小为“ 64MB”。

2.30 可查询状态

默认 描述
queryable-state.client.network-threads 0 网络数量(Netty的事件循环)用于可查询状态客户端的线程。
queryable-state.enable false 选择是否应在可能且可配置的状态下启用可查询状态代理和服务器。
queryable-state.proxy.network-threads 0 网络数量(Netty的事件循环),用于可查询状态代理的线程。
queryable-state.proxy.ports 9069 可查询状态代理的端口范围。指定的范围可以是单个端口:“ 9123”,端口范围:“ 50100-50200”,或范围和端口列表:“ 50100-50200,50300-50400,51234”。
queryable-state.proxy.query-threads 0 可查询状态代理的查询线程数。如果设置为0,则使用插槽数。
queryable-state.server.network-threads 0 网络数(Netty的事件循环)可查询状态服务器的线程。
queryable-state.server.ports 9067 可查询状态服务器的端口范围。指定的范围可以是单个端口:“ 9123”,端口范围:“ 50100-50200”,或范围和端口列表:“ 50100-50200,50300-50400,51234”。
queryable-state.server.query-threads 0 可查询状态服务器的查询线程数。如果设置为0,则使用插槽数。

2.31 Metrics(指标)

默认 描述
metrics.fetcher.update-interval 10000 Web UI使用的度量获取器的更新间隔(以毫秒为单位)。减小此值可更快地更新度量。如果度量标准获取程序导致太多负载,请增加此值。将此值设置为0会完全禁用度量获取。
metrics.internal.query-service.port 0 用于Flink内部指标查询服务的端口范围。接受端口列表(“ 50100,50101”),范围(“ 50100-50200”)或两者的组合。建议设置一定范围的端口,以防止在同一台计算机上运行多个Flink组件时发生冲突。默认情况下,Flink将选择一个随机端口。
metrics.internal.query-service.thread-priority 1个 用于Flink内部度量标准查询服务的线程优先级。该线程是由Akka的线程池执行程序创建的。优先级的范围是1(MIN_PRIORITY)到10(MAX_PRIORITY)。警告,增加该值可能会使Flink的主要组件下降。
metrics.latency.granularity operator 定义延迟指标的粒度。可接受的值为:单-跟踪延迟而无需区分源和子任务。操作员-在区分源而不是子任务时跟踪延迟。子任务-跟踪延迟,同时区分源任务和子任务。
metrics.latency.history-size 128 定义要在每个操作员处保持的测量延迟数。
metrics.latency.interval 0 定义从源发出延迟跟踪标记的时间间隔。如果设置为0或负值,则禁用延迟跟踪。启用此功能可能会严重影响群集的性能。
metrics.reporter.. none 为名为的报告程序配置参数。
metrics.reporter..class none 用于名为的报告程序的报告程序类。
metrics.reporter..interval none 用于名为的报告程序的报告程序间隔。
metrics.reporters none 报告者名称的可选列表。如果已配置,则仅启动名称与列表中任何名称匹配的报告程序。否则,将启动可在配置中找到的所有报告程序。
metrics.scope.delimiter “.” 用于组合度量标准标识符的定界符。
metrics.scope.jm .jobmanager 定义范围格式字符串,该范围格式字符串应用于作用于JobManager的所有度量。
metrics.scope.jm.job .jobmanager. 定义范围格式字符串,该范围格式字符串应用于在JobManager上范围为作业的所有指标。
metrics.scope.operator .taskmanager.... 定义作用域格式字符串,该字符串适用于作用域运算符的所有度量。
metrics.scope.task .taskmanager.... 定义范围格式字符串,该范围格式字符串应用于作用域任务的所有度量。
metrics.scope.tm “ <主机> .taskmanager。 定义范围格式字符串,该范围格式字符串应用于应用于TaskManager的所有指标。
metrics.scope.tm.job .taskmanager. 定义范围格式字符串,该范围格式字符串应用于TaskManager上范围为作业的所有指标。
metrics.system-resource false 指示Flink是否应报告系统资源指标(例如计算机的CPU,内存或网络使用情况)的标志。
metrics.system-resource-probing-interval 5000 探测指定的系统资源指标之间的时间间隔(以毫秒为单位)。仅在启用“ metrics.system-resource”时有效。

2.32 RocksDB Native Metrics

某些RocksDB本机指标可以转发到Flink的指标报告器。所有本机指标都以操作员为范围,然后按列族进一步细分;值报告为无符号多头。

**注意:**启用本机指标可能会导致性能下降,因此应谨慎设置。

默认 描述
state.backend.rocksdb.metrics.actual-delayed-write-rate false 监视当前的实际延迟写入率。0表示没有延迟。
state.backend.rocksdb.metrics.background-errors false 监视RocksDB中的背景错误数。
state.backend.rocksdb.metrics.compaction-pending false 跟踪RocksDB中待处理的压缩。如果压缩未决,则返回1,否则返回0。
state.backend.rocksdb.metrics.cur-size-active-mem-table false 监视活动内存表的大概大小(以字节为单位)。
state.backend.rocksdb.metrics.cur-size-all-mem-tables false 监视活动和未刷新的不可变内存的近似大小(以字节为单位)。
state.backend.rocksdb.metrics.estimate-live-data-size false 估计实时数据量(以字节为单位)。
state.backend.rocksdb.metrics.estimate-num-keys false 估计RocksDB中的键数。
state.backend.rocksdb.metrics.estimate-pending-compaction-bytes false 需要重写估计的压缩总字节数,以使所有级别降低到目标大小以下。不适用于除基于级别的其他压缩。
state.backend.rocksdb.metrics.estimate-table-readers-mem false 估计用于读取SST表的内存,不包括以字节为单位的块高速缓存(例如,过滤器和索引块)中使用的内存。
state.backend.rocksdb.metrics.mem-table-flush-pending false 监视RocksDB中暂挂的内存表刷新的数量。
state.backend.rocksdb.metrics.num-deletes-active-mem-table false 监视活动内存表中删除条目的总数。
state.backend.rocksdb.metrics.num-deletes-imm-mem-tables false 监视未刷新的不可变存储器中删除条目的总数。
state.backend.rocksdb.metrics.num-entries-active-mem-table false 监视活动内存表中的条目总数。
state.backend.rocksdb.metrics.num-entries-imm-mem-tables false 监视未刷新的不可变存储器中的条目总数。
state.backend.rocksdb.metrics.num-immutable-mem-table false 监视RocksDB中不可变的内存表的数量。
state.backend.rocksdb.metrics.num-live-versions false 监视实时版本数。版本是内部数据结构。有关详细信息,请参见RocksDB文件version_set.h。更多实时版本通常意味着更多SST文件不会被迭代器或未完成的压缩删除。
state.backend.rocksdb.metrics.num-running-compactions false 监视当前正在运行的压缩数。
state.backend.rocksdb.metrics.num-running-flushes false 监视当前正在运行的刷新次数。
state.backend.rocksdb.metrics.num-快照 false 监视数据库的未发布快照的数量。
state.backend.rocksdb.metrics.size-all-mem-tables false 监视活动的,未刷新的不可变和固定的不可变内存表的大概大小(以字节为单位)。
state.backend.rocksdb.metrics.total-sst-files-size false 监视所有SST文件的总大小(字节)。警告:如果文件太多,可能会降低在线查询的速度。

2.33 History Server

如果要通过HistoryServer的Web前端显示jobmanager.archive.fs.dir终止的作业,则必须进行配置以将终止的作业存档并将其添加到受监视目录的列表中historyserver.archive.fs.dir

  • jobmanager.archive.fs.dir:用于将有关终止作业的信息上载到的目录。您必须通过将该目录添加到历史服务器的受监视目录列表中historyserver.archive.fs.dir
默认 描述
historyserver.archive.fs.dir none 逗号分隔的目录列表,用于从中获取存档的作业。历史记录服务器将监视这些目录中的已存档作业。您可以配置JobManager通过jobmanager.archive.fs.dir将作业归档到目录中。
historyserver.archive.fs.refresh-interval 10000 刷新存档的作业目录的时间间隔(以毫秒为单位)。
historyserver.web.address none HistoryServer的Web界面的地址。
historyserver.web.port 8082 HistoryServers的Web界面的端口。
historyserver.web.refresh-interval 10000 HistoryServer Web前端的刷新间隔(以毫秒为单位)。
historyserver.web.ssl.enabled false 启用对HistoryServer Web前端的HTTP访问。这仅在全局SSL标志security.ssl.enabled设置为true时适用。
historyserver.web.tmpdir none 此配置参数允许定义历史服务器Web界面要使用的Flink Web目录。Web界面会将其静态文件复制到目录中。

你可能感兴趣的:(原创,flink)