Presto worker 宕机时查询超时

Posted

技术标签:

【中文标题】Presto worker 宕机时查询超时【英文标题】:Query timeout when Presto worker goes down 【发布时间】:2020-03-21 11:13:00 【问题描述】:

我有一个 8 个节点的基础设施,其中我有一个协调器和 7 个工人。我的后端系统在 Cassandra 上。我通过 Presto 在 Cassandra 上运行查询。

我早上有很多报告。但是我每天主要看到的是,我的许多报告都因任何节点超时而失败。

当我进入日志并检查时,有时我的工作人员会脱离网络并且协调员没有与他们连接。整个查询失败。

当工作人员有时不可用时,是否有任何方法可以恢复相同的查询。它可以等待还是可以将该特定任务转移给其他工作人员?有什么办法可以从这种情况中恢复过来?

请帮忙。

【问题讨论】:

【参考方案1】:

Presto 遵循“快速失败”的理念。它旨在确保速度权衡检查点。就好像现在,没有办法在工作人员之间转移工作,也没有办法“恢复”查询。

替代方案:

如果您可以控制工作节点离开,您可以在所有正在运行的任务完成后实施正常关闭并移除节点,同时停止调度更多任务。

您可以根据异常类型在顶层实现重试。

相关指针:

https://www.qubole.com/blog/spot-nodes-in-presto-on-qubole/ 列表项正常关闭:Presto Worker Graceful Shutdown

【讨论】:

以上是关于Presto worker 宕机时查询超时的主要内容,如果未能解决你的问题,请参考以下文章

Presto系列 | 六Memory Management

Presto系列 | 六Memory Management

presto的常用基本操作

presto集群安装&整合hive|mysql|jdbc

Presto

Presto 无法读取十六进制字符串:不是有效的 base-16 数字