Zhanghao Chen created FLINK-32980:
-------------------------------------
Summary: Support env.java.opts.all & env.java.opts.cli config for
starting Session clusters
Key: FLINK-32980
URL: https://issues.apache.org/jira/browse/FLINK-32980
Project: Flink
Issue Type: Improvement
Components: Command Line Client, Deployment / Scripts
Affects Versions: 1.18.0
Reporter: Zhanghao Chen
Fix For: 1.19.0
*Problem*
The following configs are supposed to be supported:
|h5. env.java.opts.all|(none)|String|Java options to start the JVM of all Flink
processes with.|
|h5. env.java.opts.client|(none)|String|Java options to start the JVM of the
Flink Client with.|
However, the two configs do not take effect for starting Flink session clusters
using kubernetes-session.sh and yarn-session.sh. This can lead to problems in
complex production envs. For example, in my company, some nodes are IPv6-only,
and the connection between Flink client and K8s/YARN control plane is via a
domain name whose backend is on IPv4/v6 dual stack, and the JVM arg
-Djava.net.preferIPv6Addresses=true needs to be set to make Java connect to
IPv6 addresses in favor of IPv4 ones otherwise the K8s/YARN control plane is
inaccessible.
*Proposal*
The fix is straight-forward, simply apply the following changes to the session
scripts:
`
# Add Client-specific JVM options
FLINK_ENV_JAVA_OPTS="${FLINK_ENV_JAVA_OPTS} ${FLINK_ENV_JAVA_OPTS_CLI}"
exec $JAVA_RUN $JVM_ARGS $FLINK_ENV_JAVA_OPTS xxx
`
--
This message was sent by Atlassian Jira
(v8.20.10#820010)