You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Matthias Pohl (Jira)" <ji...@apache.org> on 2023/09/01 09:21:00 UTC

[jira] [Resolved] (FLINK-32909) The jobmanager.sh pass arguments failed

     [ https://issues.apache.org/jira/browse/FLINK-32909?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Matthias Pohl resolved FLINK-32909.
-----------------------------------
    Fix Version/s: 1.18.0
                   1.16.3
                   1.17.2
       Resolution: Fixed

Thanks for your contribution and sorry for the delayed merge. It slipped through for a bit in my todo list.

master (1.19): 37b6559fedac5078b2ea5c29ffc34e36b2b029bb
1.18: c4093b80643a641c16a943486ce21a88e6f91cd0
1.17: ee018eb3989dac2023569386e20319e28988ed20
1.16: e028fbda9aeee892daee62083aa6bf9d6344a82b

> 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
>            Assignee: Alex Wu
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.18.0, 1.16.3, 1.17.2
>
>
> 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 -D rest.address=xx.xx.xx.xx -D rest.port=xxx -D rest.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)