[ https://issues.apache.org/jira/browse/FLINK-32909?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Matthias Pohl updated FLINK-32909: ---------------------------------- Affects Version/s: 1.18.0 > The jobmanager.sh pass arguments failed > --------------------------------------- > > Key: FLINK-32909 > URL: https://issues.apache.org/jira/browse/FLINK-32909 > Project: Flink > Issue Type: Bug > Components: Deployment / Scripts > Affects Versions: 1.16.2, 1.18.0, 1.17.1 > Reporter: Alex Wu > Priority: Major > > I' m trying to use the jobmanager.sh script to create a jobmanager instance > manually, and I need to pass arugments to the script dynamically, rather than > through flink-conf.yaml. But I found that I didn't succeed in doing that when > I commented out all configurations in the flink-conf.yaml, I typed command > like: > > {code:java} > ./bin/jobmanager.sh start -D jobmanager.memory.flink.size=1024m -D > jobmanager.rpc.address=xx.xx.xx.xx -D jobmanager.rpc.port=xxx -D > jobmanager.bind-host=0.0.0.0 -Drest.address=xx.xx.xx.xx -Drest.port=xxx > -Drest.bind-address=0.0.0.0{code} > but I got some errors below: > > {code:java} > [ERROR] The execution result is empty. > [ERROR] Could not get JVM parameters and dynamic configurations properly. > [ERROR] Raw output from BashJavaUtils: > WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will > impact performance. > Exception in thread "main" > org.apache.flink.configuration.IllegalConfigurationException: JobManager > memory configuration failed: Either required fine-grained memory > (jobmanager.memory.heap.size), or Total Flink Memory size (Key: > 'jobmanager.memory.flink.size' , default: null (fallback keys: [])), or Total > Process Memory size (Key: 'jobmanager.memory.process.size' , default: null > (fallback keys: [])) need to be configured explicitly. > at > org.apache.flink.runtime.jobmanager.JobManagerProcessUtils.processSpecFromConfigWithNewOptionToInterpretLegacyHeap(JobManagerProcessUtils.java:78) > at > org.apache.flink.runtime.util.bash.BashJavaUtils.getJmResourceParams(BashJavaUtils.java:98) > at > org.apache.flink.runtime.util.bash.BashJavaUtils.runCommand(BashJavaUtils.java:69) > at > org.apache.flink.runtime.util.bash.BashJavaUtils.main(BashJavaUtils.java:56) > Caused by: org.apache.flink.configuration.IllegalConfigurationException: > Either required fine-grained memory (jobmanager.memory.heap.size), or Total > Flink Memory size (Key: 'jobmanager.memory.flink.size' , default: null > (fallback keys: [])), or Total Process Memory size (Key: > 'jobmanager.memory.process.size' , default: null (fallback keys: [])) need to > be configured explicitly. > at > org.apache.flink.runtime.util.config.memory.ProcessMemoryUtils.failBecauseRequiredOptionsNotConfigured(ProcessMemoryUtils.java:129) > at > org.apache.flink.runtime.util.config.memory.ProcessMemoryUtils.memoryProcessSpecFromConfig(ProcessMemoryUtils.java:86) > at > org.apache.flink.runtime.jobmanager.JobManagerProcessUtils.processSpecFromConfig(JobManagerProcessUtils.java:83) > at > org.apache.flink.runtime.jobmanager.JobManagerProcessUtils.processSpecFromConfigWithNewOptionToInterpretLegacyHeap(JobM > {code} > It seems to remind me to configure memory for jobmanager instance explicitly, > but I had already passed the jobmanager.memory.flink.size parameter. So I > debug the script, and found a spelling error in the jobmanager.sh script at > line 54: > > {code:java} > parseJmArgsAndExportLogs "${ARGS[@]}" > {code} > the uppercase "$\{ARGS[@]}" is a wrong variable name here from a contextual > perspective, and causing an empty string passed to the function. I changed to > "$\{args[@]}" and It works fine. > > > -- This message was sent by Atlassian Jira (v8.20.10#820010)