Thanks for all this feedback, this is really helpful!

On Sun, Dec 6, 2020 at 7:23 PM Xintong Song <tonysong...@gmail.com> wrote:

> FYI, I've opened FLINK-20503 for this.
> https://issues.apache.org/jira/browse/FLINK-20503
>
> Thank you~
>
> Xintong Song
>
>
>
> On Mon, Dec 7, 2020 at 11:10 AM Xintong Song <tonysong...@gmail.com>
> wrote:
>
>> I forgot to mention that it is designed that task managers always have
>> `Double#MAX_VALUE` cpu cores in local execution.
>>
>>
>> And I think Yangze is right. The log "The configuration option
>> taskmanager.cpu.cores required for local execution is not set, setting
>> it to" can be misleading for users. Will fire an issue on that.
>>
>>
>> Thank you~
>>
>> Xintong Song
>>
>>
>>
>>
>> On Mon, Dec 7, 2020 at 11:03 AM Xintong Song <tonysong...@gmail.com>
>> wrote:
>>
>>> Hi Rex,
>>>
>>> We're running this in a local environment so that may be contributing to
>>>> what we're seeing.
>>>>
>>> Just to double check on this. By `local environment`, you mean running
>>> flink without setting up a standalone cluster or submitting it to a
>>> K8s/Yarn cluster? (Typically executing from an IDE, running `flink run -t
>>> local`, or running your own application that calls
>>> `ExecutionEnvironment#execute`).
>>> If yes, then this is kind of expected.
>>>
>>> A couple of things that might help you understand this.
>>>
>>>    - Running on a local environment means setting up the Flink cluster
>>>    within the current process (the IDE process if executed from an IDE, the
>>>    flink client process if using `flink run -t local`, or your own 
>>> application
>>>    process). That also means most of the resource configurations cannot take
>>>    effect, because the resources of the JVM are already determined. Please
>>>    refer to the memory configuration documents for options that still take
>>>    effect in local execution. [1][2]
>>>    - David is correct that `taskmanager.cpu.cores` is only intended for
>>>    internal usages. I assume you learnt about this configuration by reading
>>>    the source codes? If true, please also be aware that the JavaDoc
>>>    of `TaskManagerOption#CPU_CORES` says "DO NOT USE THIS CONFIG OPTION", 
>>> and
>>>    it is also annotated with `ExcludeFromDocumentation` so that users do not
>>>    learn this option from the documents.
>>>    - Flink does not really control how many cpu cores it uses. However,
>>>    when running on an external resource management system (K8s, Yarn, 
>>> Mesos),
>>>    it requires a certain amount of cpu resources for its containers/pods, 
>>> and
>>>    allows the external system to control its cpu usage. You can use the
>>>    following configuration options to control how many cpu cores are 
>>> requested
>>>    in such cases.
>>>       - kubernetes.jobmanager.cpu
>>>       - kubernetes.taskmanager.cpu
>>>       - yarn.appmaster.vcores
>>>       - yarn.containers.vcores
>>>       - mesos.resourcemanager.tasks.cpus
>>>
>>>
>>> Thank you~
>>>
>>> Xintong Song
>>>
>>>
>>> [1]
>>> https://ci.apache.org/projects/flink/flink-docs-release-1.11/ops/memory/mem_setup_tm.html#local-execution
>>> [2]
>>> https://ci.apache.org/projects/flink/flink-docs-release-1.11/ops/memory/mem_setup_jobmanager.html#local-execution
>>>
>>>
>>> On Mon, Dec 7, 2020 at 10:32 AM Yangze Guo <karma...@gmail.com> wrote:
>>>
>>>> Hi, Rex,
>>>>
>>>> Can you share more logs for it. Did you see something like "The
>>>> configuration option taskmanager.cpu.cores required for local
>>>> execution is not set, setting it to" in your logs?
>>>>
>>>> Best,
>>>> Yangze Guo
>>>>
>>>> Best,
>>>> Yangze Guo
>>>>
>>>>
>>>> On Sat, Dec 5, 2020 at 6:53 PM David Anderson <dander...@apache.org>
>>>> wrote:
>>>> >
>>>> > taskmanager.cpu.cores is intended for internal use only -- you aren't
>>>> meant to set this option. What happens if you leave it alone?
>>>> >
>>>> > Regards,
>>>> > David
>>>> >
>>>> >
>>>> > On Sat, Dec 5, 2020 at 8:04 AM Rex Fenley <r...@remind101.com> wrote:
>>>> >>
>>>> >> We're running this in a local environment so that may be
>>>> contributing to what we're seeing.
>>>> >>
>>>> >> On Fri, Dec 4, 2020 at 10:41 PM Rex Fenley <r...@remind101.com>
>>>> wrote:
>>>> >>>
>>>> >>> Hello,
>>>> >>>
>>>> >>> I'm tuning flink for parallelism right now and when I look at the
>>>> JobManager I see
>>>> >>> taskmanager.cpu.cores1.7976931348623157E308
>>>> >>> Which looks like the maximum double number.
>>>> >>>
>>>> >>> We have 8 cpu cores, so we figured we'd bump to 16 for hyper
>>>> threading. We have 37 operators so we rounded up and set 40 task slots.
>>>> >>>
>>>> >>> Here is our configuration
>>>> >>>
>>>> >>> "vmArgs": "-Xmx16g -Xms16g -XX:MaxDirectMemorySize=1207959552
>>>> -XX:MaxMetaspaceSize=268435456 -Dlog.file=/tmp/flink.log
>>>> -Dtaskmanager.memory.framework.off-heap.size=134217728b
>>>> -Dtaskmanager.memory.network.max=1073741824b
>>>> -Dtaskmanager.memory.network.min=1073741824b
>>>> -Dtaskmanager.memory.framework.heap.size=134217728b
>>>> -Dtaskmanager.memory.managed.size=6335076856b
>>>> -Dtaskmanager.memory.task.heap.size=8160437768b
>>>> -Dtaskmanager.memory.task.off-heap.size=0b
>>>> -Dtaskmanager.numberOfTaskSlots=40 -Dtaskmanager.cpu.cores=16.0"
>>>> >>>
>>>> >>> We then tried with -Dtaskmanager.cpu.cores=7.0 and still ended up
>>>> with that very odd value for cpu cores.
>>>> >>>
>>>> >>> How do we correctly adjust this?
>>>> >>>
>>>> >>> Thanks!
>>>> >>> --
>>>> >>>
>>>> >>> Rex Fenley  |  Software Engineer - Mobile and Backend
>>>> >>>
>>>> >>>
>>>> >>> Remind.com |  BLOG  |  FOLLOW US  |  LIKE US
>>>> >>
>>>> >>
>>>> >>
>>>> >> --
>>>> >>
>>>> >> Rex Fenley  |  Software Engineer - Mobile and Backend
>>>> >>
>>>> >>
>>>> >> Remind.com |  BLOG  |  FOLLOW US  |  LIKE US
>>>>
>>>

-- 

Rex Fenley  |  Software Engineer - Mobile and Backend


Remind.com <https://www.remind.com/> |  BLOG <http://blog.remind.com/>
 |  FOLLOW
US <https://twitter.com/remindhq>  |  LIKE US
<https://www.facebook.com/remindhq>

Reply via email to