we intend to build presto cluster on docker containers
we have 12 RHEL machines ,
the simple implementation is to set presto service on docker container per Linux machine
on the other-hand we are thinking about the following different plan and we will appreciate to get feedback's about this plan
since we have 12 physical Linux machines
we can build 4 docker containers on each Linux machine
when each docker container will include presto service
so total presto workers will be 4 X 12 = 48
I think the question is: should I run one Presto worker per machine or multiple?
In general: one Presto worker per machine will perform much better than multiple workers.
There are some edge cases though. If your machines have more than 200 GB memory, you may get some performance penalty from JVM due to rather large heap sizes. (This, however, requires more thought, so don't take it as an advice to run multiple workers per machine.)
Make sure you run on Java 11 or newer. This is in fact one of the main reasons why Presto requires Java 11 starting with Presto 333.
Note: you do not need to build your own Docker image. We publish a Centos-based image at https://hub.docker.com/r/prestosql/presto. Hope this is helpful.