我在presto上对tpch100gb数据集执行一些查询,我有4个节点,1个主节点,3个工作节点。当我尝试运行一些查询(不是所有查询)时,我在presto web界面上看到节点在执行过程中死亡,导致查询失败,错误如下:
.facebook.presto.operator.pagetransporttimeoutexception:与工作节点交谈时遇到太多错误。节点可能已崩溃或负载过大。这可能是暂时的问题,请在几分钟后重试您的查询。
我重新启动了所有节点和presto服务,但错误仍然存在,如果我在较小的数据集上运行相同的查询,则不存在此问题。有人能提供有关此问题的帮助吗?
谢谢
3条答案
按热度按时间ssgvzors1#
这可能是一个配置问题。例如,如果本地最大内存设置不正确,并且查询使用了太多堆内存,则完全gc可能会导致此类错误。我建议问一下presto google小组,并描述一些重现问题的方法:)
ohtdti5x2#
我在mac上运行presto,16gb内存下面是java.config文件的配置。
即使运行查询,我也会遇到以下错误
立即选择();
我把我的-xmx16g值改成了-xmx10g,效果很好。
我使用以下链接在我的系统上安装presto。
用于预安装的连杆
2ledvvac3#
这类错误的3个可能原因。您可以ssh到其中一个worker中,以了解查询运行时的问题所在。
高cpu
调低音量
task.concurrency
例如,到8高内存
在
jvm.config
,-Xmx
不应超过总内存的80%。在config.properties
,query.max-memory-per-node
应该不超过Xmx
号码。低打开文件限制
设置在
/etc/security/limits.conf
普雷斯托过程的一个较大的数字。默认值肯定太低了。