Key | Default | Type | Description
--- | --- | --- | ---

##### high-availability.cluster-id

"/default"

String

The ID of the Flink cluster, used to separate multiple Flink clusters from each other. Needs to be set for standalone clusters but is automatically inferred in YARN.

##### high-availability.jobmanager.port

"0"

String

The port (range) used by the Flink Master for its RPC connections in highly-available setups. In highly-available setups, this value is used instead of 'jobmanager.rpc.port'.A value of '0' means that a random free port is chosen. TaskManagers discover this port through the high-availability services (leader election), so a random port or a port range works without requiring any additional means of service discovery.

##### high-availability.storageDir

(none)

String

File system path (URI) where Flink persists metadata in high-availability setups.

##### high-availability.type

"NONE"

String

Defines high-availability mode used for cluster execution. To enable high-availability, set this mode to "ZOOKEEPER", "KUBERNETES", or specify the fully qualified name of the factory class.

##### high-availability.zookeeper.client.acl

"open"

String

Defines the ACL (open|creator) to be configured on ZK node. The configuration value can be set to “creator” if the ZooKeeper server configuration has the “authProvider” property mapped to use SASLAuthenticationProvider and the cluster is configured to run in secure mode (Kerberos).

##### high-availability.zookeeper.client.authorization

(none)

Map

Add connection authorization Subsequent calls to this method overwrite the prior calls. In certain cases ZooKeeper requires additional Authorization information. For example list of valid names for ensemble in order to prevent accidentally connecting to a wrong ensemble. Each entry of type Map.Entry<String, String> will be transformed into an AuthInfo object with the constructor AuthInfo(String, byte[]). The field entry.key() will serve as the String scheme value, while the field entry.getValue() will be initially converted to a byte[] using the String#getBytes() method with UTF-8 encoding. If not set the default configuration for a Curator would be applied.

##### high-availability.zookeeper.client.connection-timeout

15 s

Duration

Defines the connection timeout for ZooKeeper.

##### high-availability.zookeeper.client.ensemble-tracker

true

Boolean

Defines whether Curator should enable ensemble tracker. This can be useful in certain scenarios in which CuratorFramework is accessing to ZK clusters via load balancer or Virtual IPs. Default Curator EnsembleTracking logic watches CuratorEventType.GET_CONFIG events and changes ZooKeeper connection string. It is not desired behaviour when ZooKeeper is running under the Virtual IPs. Under certain configurations EnsembleTracking can lead to setting of ZooKeeper connection string with unresolvable hostnames.

##### high-availability.zookeeper.client.max-close-wait

(none)

Duration

Defines the time Curator should wait during close to join background threads. If not set the default configuration for a Curator would be applied.

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

3

Integer

Defines the number of connection retries before the client gives up.

##### high-availability.zookeeper.client.max-retry-wait

1 min

Duration

Defines the maximum retry wait time in milliseconds for each attempt. This caps the exponential backoff to prevent excessively long waits between retries.

##### high-availability.zookeeper.client.retry-wait

5 s

Duration

Defines the pause between consecutive retries.

##### high-availability.zookeeper.client.session-timeout

1 min

Duration

Defines the session timeout for the ZooKeeper session.

##### high-availability.zookeeper.client.simulated-session-expiration-percent

(none)

Integer

The percentage set by this method determines how and if Curator will check for session expiration. See Curator documentation for simulatedSessionExpirationPercent property for more information.

##### high-availability.zookeeper.client.tolerate-suspended-connections

false

Boolean

Defines whether a suspended ZooKeeper connection will be treated as an error that causes the leader information to be invalidated or not. In case you set this option to `true`, Flink will wait until a ZooKeeper connection is marked as lost before it revokes the leadership of components. This has the effect that Flink is more resilient against temporary connection instabilities at the cost of running more likely into timing issues with ZooKeeper.

##### high-availability.zookeeper.path.execution-plans

"/execution-plans"

String

ZooKeeper root path (ZNode) for execution plans

##### high-availability.zookeeper.path.root

"/flink"

String

The root path under which Flink stores its entries in ZooKeeper.

##### high-availability.zookeeper.quorum

(none)

String

The ZooKeeper quorum to use, when running Flink in a high-availability mode with ZooKeeper.