我们打算在Docker容器上构建Presto集群
我们有12 台 RHEL 机器,
简单的实现是在每个 Linux 机器的 docker 容器上设置 presto 服务
另一方面,我们正在考虑以下不同的计划,我们将不胜感激,以获得有关该计划的反馈
因为我们有 12 台物理 Linux 机器
我们可以在每台 Linux 机器上构建 4 个 docker 容器
每个 docker 容器何时包含 presto 服务
因此,总工人将被4 X 12 = 48
我认为问题是:我应该在每台机器上运行一个 Presto worker 还是多台?
一般来说:每台机器一个 Presto 工人的性能比多台工人要好得多。
不过也有一些边缘情况。如果您的机器具有超过 200 GB 的内存,由于堆大小过大,您可能会从 JVM 中获得一些性能损失。(但是,这需要更多的思考,因此不要将其视为每台机器运行多个工作线程的建议。
确保在 Java 11 或更高版本上运行。事实上,这是Presto需要从Presto 333开始的Java 11的主要原因之一。
注意:您不需要构建自己的 Docker 镜像。我们在 https://hub.docker.com/r/prestosql/presto 发布基于 Centos 的图像。希望这是有帮助的。