从 Alluxio 读取超时

Timeout to read from Alluxio

我在 Alluxio 上执行 Presto 查询时遇到了这个错误。这个超时是什么意思,我该如何解决?

com.facebook.presto.spi.PrestoException: Error opening Hive split alluxio://xxxxx:19998/s3/data/m-00020 (offset=134217728, length=67108864) using org.apache.hadoop.mapred.TextInputFormat: Timeout to read 39963328512 from [id: 0x23615709, L:/xxxxx:34740 - R:xxxxx/xxxxx:29999]

当 Alluxio worker 花费太长时间(可通过 alluxio.user.network.netty.timeout 配置)向客户端提供数据时,您将收到此错误。

一个简单的解决方法是增加超时。

但是,这通常是 worker 以某种方式超负荷的症状。在您的设置中检查的常见事项:

  1. Alluxio worker 负载,如果您的计算位于同一位置并且没有资源管理,则可能会出现问题
  2. Alluxio worker 在文件系统下 load/bandwidth,这通常是对象存储等远程存储的瓶颈。

如果这些是瓶颈,您可以尝试降低并发度或增加集群中的节点数。