生产环境中的 presto docker 个容器

presto docker containers on production environment

我们打算在 docker 个容器上构建 presto 集群

我们有 12 台 RHEL 机器

简单的实现是在每个Linux机器docker容器上设置presto服务

另一方面,我们正在考虑以下不同的计划,我们将很高兴收到有关此计划的反馈

因为我们有 12 台物理 Linux 机器

我们可以在每台 Linux 机器上构建 4 个 docker 容器

当每个 docker 容器将包含 presto 服务时

所以 presto 工人总数将是 4 X 12 = 48

我认为问题是:我应该 运行 每台机器一个 Presto worker 还是多个?

一般来说:每台机器一个 Presto worker 的性能会比多个 worker 好得多。

虽然有一些边缘情况。如果您的机器有超过 200 GB 的内存,由于相当大的堆大小,您可能会从 JVM 中获得一些性能损失。 (然而,这需要更多的思考,所以不要把它当作对每台机器 运行 多个工人的建议。)

确保 运行 使用 Java 11 或更高版本。这实际上是 Presto requires Java 11 starting with Presto 333.

的主要原因之一

注意:您不需要构建自己的 Docker 映像。我们在 https://hub.docker.com/r/prestosql/presto 发布了一个基于 Centos 的镜像。希望这对您有所帮助。