We have 3 compute nodes with 8 cores each and are assigned 30 GB of RAM in our cluster and we are executing performance tests in order to get the optimal performance.
The optimal performance was achieved by considering the following parameters.
master yarn --num-executors 5 --executor-cores 4 --executor-memory 23g
The concern here is how is it working fine with 23*5=115g
of memory when we have only 30*3=90g
available for our cluster. We have tried by considering the executor memory from 16g to 25g but getting the optimal at 23g only.
Is there something missing from our end, would like to understand this concept.