我们有一个具有160个工作节点的presto集群。
基本问题是--具有presto协调器的机器是否可以为160名工人提供服务
除此之外:
我们如何为presto协调器(内存,cpu)确定大小?
协调器机器的最佳实践尺寸公式是什么?
Dose presto协调器可以处理和管理160名工人机器吗? ,
尊敬-http://prestodb.github.io/docs/current/overview/concepts.html
协调人 Presto协调器是负责解析语句,计划查询和管理Presto工作程序节点的服务器。它是Presto安装的“大脑”,也是客户端连接以提交执行语句的节点。每个Presto安装必须在一个或多个Presto工作人员旁边配备一个Presto协调器。出于开发或测试目的,可以将Presto的单个实例配置为执行这两个角色。
协调器跟踪每个工作程序上的活动并协调查询的执行。协调器创建一个涉及一系列阶段的查询逻辑模型,然后将其转换为在Presto工人群集上运行的一系列关联任务。
协调员使用REST API与工作人员和客户进行通信。
工人 Presto worker是Presto安装中的服务器,负责执行任务和处理数据。辅助节点从连接器中获取数据并相互交换中间数据。协调员负责从工作人员那里获取结果,并将最终结果返回给客户。
Presto worker进程启动时,它将自己发布到协调器中的发现服务器,这使Presto协调器可以使用它来执行任务。
工作人员使用REST API与其他工作人员和Presto协调员进行沟通。
答案 0 :(得分:3)
TL; DR 通常,协调器可以轻松处理160个以上的工作节点,但是您的里程可能会有所不同。
长版 Presto协调员可以管理1000名工人。 但是,您需要一个具有特定内存和CPU资源的协调器。答案是-这取决于。
协调器跟踪跨工作程序的任务执行,因此内存限制取决于查询的复杂性。另外,当您查询分区表时(例如,在S3,Hive中),有关查询访问的分区的一些信息必须保留在内存中。当您有多个查询时,这加起来。