2017-07-02 29 views
0

我正在对presto上的tpch 100gb数据集执行一些查询,我有4个节点,1个主节点,3个工作负载。当我尝试运行一些查询时,并非所有查询都在Presto Web界面上看到节点在执行期间死亡,导致查询失败,错误如下:负载过重的Presto节点

.facebook.presto.operator .PageTransportTimeoutException:遇到与工作节点交谈的错误太多。该节点可能已经崩溃或负载过重。这可能是一个短暂的问题,所以请在几分钟后重试您的查询。

我重新启动了所有节点和presto服务,但错误依然存在,如果我对较小的数据集运行相同的查询,则不存在此问题。有人可以为此问题提供一些帮助吗?

谢谢

回答

0

这可能是配置问题。例如,如果本地最大内存设置不当并且查询使用太多堆内存,则完整的GC可能会导致此类错误。我建议在Presto Google Group中询问并描述一些问题以重现此问题:)

0

3种可能的原因导致了这种错误。您可以通过ssh进入一名工作人员,以确定查询运行时的问题。

  • 高CPU

    调谐向下task.concurrency到,例如,8

  • 高存储器

    jvm.config-Xmx应不大于80%的总存储器。在config.properties,query.max-memory-per-node应该不超过Xmx号码的一半。

  • 低开文件限制

    坐落在/etc/security/limits.conf为普雷斯托过程中更大的数字。默认值肯定太低。