Hi Yassine, Thanks for reporting this. The problem you run into is due to start-local.sh which we discourage in favour of start-cluster.sh that resembles real use case better.
In your case, start-local.sh starts a job manager with an embedded task manager but does not parse the task manager config properly to set the right parameters. With start-cluster.sh (or manually via jobmanager.sh and taskmanager.sh), job and task manager are started separately in separate JVMs without this issue. There's an open pull request to make start-cluster.sh better cooperate in certain situations in order to replace start-local.sh completely[1] but it hasn't been merged yet nor is start-local.sh replaced. In the future, we might do that though. FYI: I created a Jira issue for us to check further code paths that may lead to this problem: https://issues.apache.org/jira/browse/FLINK-5973 Regards Nico [1] https://github.com/apache/flink/pull/3298 On Friday, 3 March 2017 17:07:14 CET Yassine MARZOUGUI wrote: > Hi all, > > I tried starting a local Flink 1.2.0 cluster using start-local.sh, with the > following settings for the taskmanager memory: > > taskmanager.heap.mb: 16384 > taskmanager.memory.off-heap: true > taskmanager.memory.preallocate: true > > That throws and OOM error: > Caused by: java.lang.Exception: OutOfMemory error (Direct buffer memory) > while allocating the TaskManager off-heap memory (39017161219 bytes). Try > increasing the maximum direct memory (-XX:MaxDirectMemorySize) > > However If I add an obsolute taskmanager.memory.size: > taskmanager.memory.size: 15360 > the cluster starts successfully. > > My understanding is that if taskmanager.memory.size is unspecified then it > should be equal to 0.7 * taskmanager.heap.mb. So I don't understand why it > throws an exception and it works if its larger than that fraction. > > Any help is appreciated. > > Best, > Yassine
signature.asc
Description: This is a digitally signed message part.