我们有一个包含 160 个工作节点的 presto 集群。
- 安装在 VM 机器上的 presto 协调器(32G + 16 CPU) 其他都是工作机(物理机)
基本问题是——如果带有 presto 协调器的机器可以为 160 台 worker 机器提供服务
除此之外:
我们如何调整 presto 协调器(内存、cpu)的大小?
协调器机器的最佳实践大小计算公式是什么?
Dose presto 协调器可以处理和管理 160 台 worker 机器? ,
- Dose Presto 协调器机器仅限于管理 X 台 worker 机器?
崇敬 - http://prestodb.github.io/docs/current/overview/concepts.html
协调员 Presto 协调器是负责解析语句、计划查询和管理 Presto 工作节点的服务器。它是 Presto 安装的“大脑”,也是客户端连接以提交语句以供执行的节点。每个 Presto 安装都必须有一个 Presto 协调器和一个或多个 Presto worker。出于开发或测试目的,可以配置 Presto 的单个实例来执行这两个角色。
协调器跟踪每个工作人员的事件并协调查询的执行。协调器创建一个涉及一系列阶段的查询逻辑模型,然后将其转换为在 Presto worker 集群上运行的一系列连接任务。
协调器使用 REST API 与工作器和客户端通信。
worker Presto worker 是 Presto 安装中的服务器,负责执行任务和处理数据。工作节点从连接器获取数据并相互交换中间数据。协调器负责从工作器中获取结果并将最终结果返回给客户端。
当 Presto 工作进程启动时,它会将自己通告给协调器中的发现服务器,这使其可供 Presto 协调器执行任务。
工作人员使用 REST API 与其他工作人员和 Presto 协调员进行通信。
最佳答案
TL;DR 通常,协调器可以轻松处理比 160 个多得多的工作节点,但您的里程数可能会有所不同。
更长的版本 Presto 协调器可以管理 1000 个 worker 。 但是,您需要一个具有特定内存和 CPU 资源的协调器。答案是 -- 视情况而定。
协调器跟踪跨工作器的任务执行情况,因此内存限制取决于查询的复杂性。此外,当您查询分区表时(例如在 S3、Hive 中),一些有关查询访问的分区的信息需要保留在内存中。当您有多个查询时,这会加起来。
关于linux - PRESTO + dose presto cordinator 可以管理 160 个 worker 节点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54771926/