Hive 具有过多负载的Presto节点
我在presto上对tpch 100gb数据集执行一些查询,我有4个节点,1个主节点,3个工作节点。当我尝试运行一些查询(不是所有查询)时,我在Presto web界面上看到节点在执行过程中死亡,导致查询失败,错误如下: .facebook.presto.operator.PageTransportTimeoutException:与工作节点交谈时遇到太多错误。节点可能已崩溃或负载过大。这可能是暂时的问题,请在几分钟后重试您的查询 我重新启动了所有节点和presto服务,但错误仍然存在,如果我在较小的数据集上运行相同的查询,则不存在此问题。有人可以提供有关此问题的帮助吗Hive 具有过多负载的Presto节点,hive,hortonworks-data-platform,presto,bigdata,Hive,Hortonworks Data Platform,Presto,Bigdata,我在presto上对tpch 100gb数据集执行一些查询,我有4个节点,1个主节点,3个工作节点。当我尝试运行一些查询(不是所有查询)时,我在Presto web界面上看到节点在执行过程中死亡,导致查询失败,错误如下: .facebook.presto.operator.PageTransportTimeoutException:与工作节点交谈时遇到太多错误。节点可能已崩溃或负载过大。这可能是暂时的问题,请在几分钟后重试您的查询 我重新启动了所有节点和presto服务,但错误仍然存在,如果我在
谢谢这可能是一个配置问题。例如,如果未正确设置本地最大内存,并且查询使用了过多的堆内存,则完整GC可能会导致此类错误。我建议向Presto Google小组提问,并描述重现问题的方法:)3种可能导致此类错误的原因。您可以使用ssh连接到其中一个worker,以了解查询运行时出现的问题
- 高CPU
将
任务。并发性
调低到,例如8
- 高内存
在
中,jvm.config
应不超过总内存的80%。在-Xmx
中,config.properties
不应超过query.max memory per node
编号的一半Xmx
- 低打开文件限制
在
中为Presto进程设置一个较大的数字。默认值肯定太低了/etc/security/limits.conf
-server
-Xmx16G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:OnOutOfMemoryError=kill -9 %p
即使运行查询,我也会遇到以下错误
现在选择()
我将-Xmx16G值更改为-Xmx10G,效果很好
我使用以下链接在我的系统上安装了presto
Query 20200817_134204_00005_ud7tk failed: Encountered too many errors talking to a worker node. The node may have crashed or be under too much load. This is probably a transient issue, so please retry your query in a few minutes.