【发布时间】:2018-04-06 07:26:09
【问题描述】:
没有可用的工作节点。对于 postgres,我们会间歇性地收到此错误。我确保 .properties 文件在所有节点中都可用并且是正确的,因此一些查询正在运行。
当硬件资源不足以执行查询数量时会出现此错误吗?
确切的错误信息是: 响应 --> {"id":"20170816_111721_01180_c5tn3","infoUri":"http://ec2-52-91-204-246.compute-1.amazonaws.com:8080/query.html?20170816_111721_01180_c5tn3","stats":{"state":"FAILED","queued":false,"scheduled":false,"nodes ":0,"totalSplits":0,"queuedSplits":0,"runningSplits":0,"completedSplits":0,"userTimeMillis":0,"cpuTimeMillis":0,"wallTimeMillis":0,"processedRows": 0,"processedBytes":0},"error":{"message":"没有可用的工作节点","errorCode":65541,"errorName":"NO_NODES_AVAILABLE","errorType":"INTERNAL_ERROR","failureInfo" :{"type":"com.facebook.presto.spi.PrestoException","message":"没有可用的工作节点","suppressed":[],"stack":["com.facebook.presto.util. Failures.checkCondition(Failures.java:85)","com.facebook.presto.sql.planner.SystemPartitioningHandle.getNodePartitionMap(SystemPartitioningHandle.java:149)","com.facebook.presto.sql.planner.NodePartitioningManager.getNodePartitioningMap( NodePartitioningManager.java:105)","com.facebook.presto.execution.scheduler.SqlQueryScheduler.lambda$null$0(SqlQueryScheduler.java:140)","java.util.HashMap.computeIfAbsent(Hash Map.java:1126)","com.facebook.presto.execution.scheduler.SqlQueryScheduler.lambda$new$1(SqlQueryScheduler.java:140)","com.facebook.presto.execution.scheduler.SqlQueryScheduler.createStages(SqlQueryScheduler .java:241)","com.facebook.presto.execution.scheduler.SqlQueryScheduler.\u003Cinit\u003E(SqlQueryScheduler.java:131)","com.facebook.presto.execution.SqlQueryExecution.planDistribution(SqlQueryExecution.java: 388)","com.facebook.presto.execution.SqlQueryExecution.start(SqlQueryExecution.java:252)","com.facebook.presto.execution.QueuedExecution.lambda$start$1(QueuedExecution.java:62)"," java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)","java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)","java.lang.Thread.run(Thread. java:748)"]}}}
【问题讨论】:
-
这通常意味着您需要了解在此错误之前发生了什么。工人是否崩溃/断开连接/冻结/变得无响应以及原因。
-
实际上工作人员可以访问/工作,因此查询会间歇性地失败。会不会是目前的硬件无法支撑负载?
标签: presto