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)

Reply via email to