We have 4 spark jobs running on Yarn. In our case we have allocated exact number of resources to resource manager as per jobs requirement (allocated cores/memory = no. of cores/memory of job1 + no. of cores/memory of job2 + no. of cores/memory of job3 + no. of cores/memory of job4).
Many of times we face an issue where our last job remains in an accepted state as some amount of memory and resources are reserved by yarn. This link explains this behavior of yarn, but we are not sure how reserve memory gets calculated. Moreover should we increase our cores & memory assigned to Resource Manager ? If so is there any way to understand/calculate how much memory/cores will be reserved ? Without it we are not able to understand exact resources required for our use cases. Thanks in advance.
Reserved memory on yarn: Imgur: The magic of the Internet.