Key Default Type Description
jobmanager.adaptive-scheduler.min-parallelism-increase
1 Integer Configure the minimum increase in parallelism for a job to scale up.
jobmanager.adaptive-scheduler.resource-stabilization-timeout
10 s Duration The resource stabilization timeout defines the time the JobManager will wait if fewer than the desired but sufficient resources are available. The timeout starts once sufficient resources for running the job are available. Once this timeout has passed, the job will start executing with the available resources.
If scheduler-mode is configured to REACTIVE, this configuration value will default to 0, so that jobs are starting immediately with the available resources.
jobmanager.adaptive-scheduler.resource-wait-timeout
5 min Duration The maximum time the JobManager will wait to acquire all required resources after a job submission or restart. Once elapsed it will try to run the job with a lower parallelism, or fail if the minimum amount of resources could not be acquired.
Increasing this value will make the cluster more resilient against temporary resources shortages (e.g., there is more time for a failed TaskManager to be restarted).
Setting a negative duration will disable the resource timeout: The JobManager will wait indefinitely for resources to appear.
If scheduler-mode is configured to REACTIVE, this configuration value will default to a negative value to disable the resource timeout.
jobmanager.archive.fs.dir
(none) String Dictionary for JobManager to store the archives of completed jobs.
jobmanager.bind-host
(none) String The local address of the network interface that the job manager binds to. If not configured, '0.0.0.0' will be used.
jobmanager.execution.attempts-history-size
16 Integer The maximum number of historical execution attempts kept in history.
jobmanager.execution.failover-strategy
"region" String This option specifies how the job computation recovers from task failures. Accepted values are:
  • 'full': Restarts all tasks to recover the job.
  • 'region': Restarts all tasks that could be affected by the task failure. More details can be found here.
jobmanager.future-pool.size
(none) Integer The size of the future thread pool to execute future callbacks for all spawned JobMasters. If no value is specified, then Flink defaults to the number of available CPU cores.
jobmanager.io-pool.size
(none) Integer The size of the IO thread pool to run blocking operations for all spawned JobMasters. This includes recovery and completion of checkpoints. Increase this value if you experience slow checkpoint operations when running many jobs. If no value is specified, then Flink defaults to the number of available CPU cores.
jobmanager.memory.enable-jvm-direct-memory-limit
false Boolean Whether to enable the JVM direct memory limit of the JobManager process (-XX:MaxDirectMemorySize). The limit will be set to the value of 'jobmanager.memory.off-heap.size' option.
jobmanager.memory.flink.size
(none) MemorySize Total Flink Memory size for the JobManager. This includes all the memory that a JobManager consumes, except for JVM Metaspace and JVM Overhead. It consists of JVM Heap Memory and Off-heap Memory. See also 'jobmanager.memory.process.size' for total process memory size configuration.
jobmanager.memory.heap.size
(none) MemorySize JVM Heap Memory size for JobManager. The minimum recommended JVM Heap size is 128.000mb (134217728 bytes).
jobmanager.memory.jvm-metaspace.size
256 mb MemorySize JVM Metaspace Size for the JobManager.
jobmanager.memory.jvm-overhead.fraction
0.1 Float Fraction of Total Process Memory to be reserved for JVM Overhead. This is off-heap memory reserved for JVM overhead, such as thread stack space, compile cache, etc. This includes native memory but not direct memory, and will not be counted when Flink calculates JVM max direct memory size parameter. The size of JVM Overhead is derived to make up the configured fraction of the Total Process Memory. If the derived size is less or greater than the configured min or max size, the min or max size will be used. The exact size of JVM Overhead can be explicitly specified by setting the min and max size to the same value.
jobmanager.memory.jvm-overhead.max
1 gb MemorySize Max JVM Overhead size for the JobManager. This is off-heap memory reserved for JVM overhead, such as thread stack space, compile cache, etc. This includes native memory but not direct memory, and will not be counted when Flink calculates JVM max direct memory size parameter. The size of JVM Overhead is derived to make up the configured fraction of the Total Process Memory. If the derived size is less or greater than the configured min or max size, the min or max size will be used. The exact size of JVM Overhead can be explicitly specified by setting the min and max size to the same value.
jobmanager.memory.jvm-overhead.min
192 mb MemorySize Min JVM Overhead size for the JobManager. This is off-heap memory reserved for JVM overhead, such as thread stack space, compile cache, etc. This includes native memory but not direct memory, and will not be counted when Flink calculates JVM max direct memory size parameter. The size of JVM Overhead is derived to make up the configured fraction of the Total Process Memory. If the derived size is less or greater than the configured min or max size, the min or max size will be used. The exact size of JVM Overhead can be explicitly specified by setting the min and max size to the same value.
jobmanager.memory.off-heap.size
128 mb MemorySize Off-heap Memory size for JobManager. This option covers all off-heap memory usage including direct and native memory allocation. The JVM direct memory limit of the JobManager process (-XX:MaxDirectMemorySize) will be set to this value if the limit is enabled by 'jobmanager.memory.enable-jvm-direct-memory-limit'.
jobmanager.memory.process.size
(none) MemorySize Total Process Memory size for the JobManager. This includes all the memory that a JobManager JVM process consumes, consisting of Total Flink Memory, JVM Metaspace, and JVM Overhead. In containerized setups, this should be set to the container memory. See also 'jobmanager.memory.flink.size' for Total Flink Memory size configuration.
jobmanager.partition.hybrid.partition-data-consume-constraint
(none)

Enum

Controls the constraint that hybrid partition data can be consumed. Note that this option is allowed only when jobmanager.scheduler has been set to AdaptiveBatch. Accepted values are:
  • 'ALL_PRODUCERS_FINISHED': hybrid partition data can be consumed only when all producers are finished.
  • 'ONLY_FINISHED_PRODUCERS': hybrid partition data can be consumed when its producer is finished.
  • 'UNFINISHED_PRODUCERS': hybrid partition data can be consumed even if its producer is un-finished.


Possible values:
  • "ALL_PRODUCERS_FINISHED"
  • "ONLY_FINISHED_PRODUCERS"
  • "UNFINISHED_PRODUCERS"
jobmanager.resource-id
(none) String The JobManager's ResourceID. If not configured, the ResourceID will be generated randomly.
jobmanager.retrieve-taskmanager-hostname
true Boolean Flag indicating whether JobManager would retrieve canonical host name of TaskManager during registration. If the option is set to "false", TaskManager registration with JobManager could be faster, since no reverse DNS lookup is performed. However, local input split assignment (such as for HDFS files) may be impacted.
jobmanager.rpc.address
(none) String The config parameter defining the network address to connect to for communication with the job manager. This value is only interpreted in setups where a single JobManager with static name or address exists (simple standalone setups, or container setups with dynamic service name resolution). It is not used in many high-availability setups, when a leader-election service (like ZooKeeper) is used to elect and discover the JobManager leader from potentially multiple standby JobManagers.
jobmanager.rpc.bind-port
(none) Integer The local RPC port that the JobManager binds to. If not configured, the external port (configured by 'jobmanager.rpc.port') will be used.
jobmanager.rpc.port
6123 Integer The config parameter defining the network port to connect to for communication with the job manager. Like jobmanager.rpc.address, this value is only interpreted in setups where a single JobManager with static name/address and port exists (simple standalone setups, or container setups with dynamic service name resolution). This config option is not used in many high-availability setups, when a leader-election service (like ZooKeeper) is used to elect and discover the JobManager leader from potentially multiple standby JobManagers.
jobmanager.scheduler
Default

Enum

Determines which scheduler implementation is used to schedule tasks. Accepted values are:
  • 'Default': Default scheduler
  • 'Adaptive': Adaptive scheduler. More details can be found here.
  • 'AdaptiveBatch': Adaptive batch scheduler. More details can be found here.


Possible values:
  • "Default"
  • "Adaptive"
  • "AdaptiveBatch"
jobstore.cache-size
52428800 Long The job store cache size in bytes which is used to keep completed jobs in memory.
jobstore.expiration-time
3600 Long The time in seconds after which a completed job expires and is purged from the job store.
jobstore.max-capacity
infinite Integer The max number of completed jobs that can be kept in the job store. NOTICE: if memory store keeps too many jobs in session cluster, it may cause FullGC or OOM in jm.
jobstore.type
File

Enum

Determines which job store implementation is used in session cluster. Accepted values are:
  • 'File': the file job store keeps the archived execution graphs in files
  • 'Memory': the memory job store keeps the archived execution graphs in memory. You may need to limit the jobstore.max-capacity to mitigate FullGC or OOM when there are too many graphs


Possible values:
  • "File"
  • "Memory"
scheduler-mode
(none)

Enum

Determines the mode of the scheduler. Note that scheduler-mode=REACTIVE is only supported by standalone application deployments, not by active resource managers (YARN, Kubernetes) or session clusters.

Possible values:
  • "REACTIVE"
slot.idle.timeout
50000 Long The timeout in milliseconds for a idle slot in Slot Pool.
slot.request.timeout
300000 Long The timeout in milliseconds for requesting a slot from Slot Pool.