linux - PRESTO + dose presto cordinator 可以管理 160 个 worker 节点吗?

标签 linux database performance-testing presto trino

我们有一个包含 160 个工作节点的 presto 集群。

  • 安装在 VM 机器上的 presto 协调器(32G + 16 CPU) 其他都是工作机(物理机)

基本问题是——如果带有 presto 协调器的机器可以为 160 台 worker 机器提供服务

除此之外:

  1. 我们如何调整 presto 协调器(内存、cpu)的大小?

  2. 协调器机器的最佳实践大小计算公式是什么?

  3. Dose presto 协调器可以处理和管理 160 台 worker 机器? ,

  4. Dose Presto 协调器机器仅限于管理 X 台 worker 机器?

enter image description here

崇敬 - 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/

相关文章:

database - 读取 postgres 表上的金额

jmeter - 如何使用 Jmeter 捕获 API 内调用其他 API 的响应时间

c - 用 `perf record -g` 模拟 `perf_event_open`

java - 在 Linux 中用 Java 编译 Cplex

c - EOF 在文件末尾之前到达

java - 如何使用具有自定义文件扩展名的 H2 数据库?

java - 读/写 xBASE (DBASE 3-5/DBF) 文件

c++ - 提高 TM 模拟器的性能

html - 灯塔要求我推迟加载/

linux - Ubuntu/Linux 庆典 : traverse directory and subdirectories to work with files