【问题标题】:PRESTO + dose presto cordinator can manage 160 workers node?PRESTO+dose presto cordinator 可以管理160个worker节点吗?
【发布时间】:2019-07-13 07:00:30
【问题描述】:

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

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

基本的问题是——如果有presto coordinator的机器可以服务160台worker机器

除此之外:

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

  2. 协调机器的最佳实践尺寸公式是什么?

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

  4. Dose Presto 协调器机器仅限于管理 X 工人机器?

崇敬-http://prestodb.github.io/docs/current/overview/concepts.html

协调员 Presto 协调器是负责解析语句、规划查询和管理 Presto 工作节点的服务器。它是 Presto 安装的“大脑”,也是客户端连接以提交执行语句的节点。每个 Presto 安装都必须有一名 Presto 协调员以及一名或多名 Presto 工作人员。出于开发或测试目的,可以配置单个 Presto 实例来执行这两个角色。

协调器跟踪每个工作人员的活动并协调查询的执行。协调器创建涉及一系列阶段的查询的逻辑模型,然后将其转换为在 Presto 工作人员集群上运行的一系列连接任务。

协调器使用 REST API 与工作人员和客户端通信。

工人 Presto worker 是 Presto 安装中的服务器,负责执行任务和处理数据。工作节点从连接器获取数据并相互交换中间数据。 coordinator负责从worker中获取结果并将最终结果返回给客户端。

当 Presto 工作进程启动时,它会将自己通告给协调器中的发现服务器,这使得 Presto 协调器可以使用它来执行任务。

工作人员使用 REST API 与其他工作人员和 Presto 协调员进行通信。

【问题讨论】:

  • 不清楚你的问题是什么,你在问什么。请明确说明问题并提出问题。
  • 我要问的是 - 带有 presto 协调器的机器是否可以为 160 台工人机器提供服务
  • 完成 - 我更新了问题,谢谢
  • 如果你能帮我解决这个问题,我会很高兴-:)

标签: linux database performance-testing presto trino


【解决方案1】:

TL;DR 一般来说,协调器可以轻松处理比 160 多得多的工作节点,但您的里程可能会有所不同。

加长版 Presto 协调员可以管理 1000 名工人。 但是,您需要的是具有特定内存和 CPU 资源的协调器。答案是——视情况而定

协调器会跟踪工作人员之间的任务执行情况,因此内存限制取决于查询的复杂性。此外,当您查询分区表时(例如,在 S3、Hive 中),有关查询访问的分区的一些信息需要保存在内存中。当您有多个查询时,这会累加。

【讨论】:

  • 非常感谢,我还有一个注意事项 - 在我的带有 presto 协调器的 VM 机器上还有其他 8-9 服务在该机器上运行,如 Zookeper 服务器、名称节点、纱线服务等,那么您是否建议为 presto coordinator 专用一台新机器? presto 协调器的最低要求是什么? (CPU、内存等)
  • 顺便说一下,我们安装了最新的presto版本,我们使用的是ambari集群,而presto coordinator安装在master01机器上,所有presto服务器安装在datanode机器上(160台worker机器)跨度>
  • Presto 在内存中处理查询,因此您希望为每个 Presto 进程(包括协调器,它需要内存来控制工作人员的工作)分配一个合理的堆大小。当 Presto 安装在不同的机器上时,它更容易调整它,但我知道你受到硬件的限制。因此,您需要跨进程拆分物理内存并确保不会过度分配。请注意,Java 使用的内存不仅仅是堆(即超过 -Xmx),所以这不是一个简单的练习。
猜你喜欢
  • 2019-12-16
  • 2019-05-16
  • 2018-04-06
  • 2019-09-27
  • 2017-05-21
  • 2017-12-05
  • 1970-01-01
  • 2015-03-08
  • 2019-07-18
相关资源
最近更新 更多