Alex Wu created FLINK-32909:
-------------------------------

             Summary: 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.17.1, 1.16.2
            Reporter: Alex Wu


I' m try 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)

Reply via email to