2017-10-25 20 views
0

작업자 노드를 사용할 수 없습니다. 포스트그레스에 대해 간헐적으로이 오류가 발생합니다. .properties 파일이 모든 노드에서 사용 가능하고 올바른지, 따라서 일부 쿼리가 실행 중인지 확인했습니다.작업자 노드를 사용할 수 없음 - Presto

하드웨어 리소스가 실행되는 쿼리 수에 비해 충분하지 않은 경우이 오류가 발생할 수 있습니까?

정확한 오류 메시지는 다음과 같습니다 응답 -> { "ID": "20170816_111721_01180_c5tn3", "infoUri": "http://ec2-52-91-204-246.compute-1.amazonaws.com:8080/query.html?20170816_111721_01180_c5tn3", "통계": { "상태": "실패는", "대기"거짓, "scheduled": false, "nodes": 0, "totalSplits": 0, "queuedSplits": 0, "runningSplits": 0, "completedSplits": 0, "userTimeMillis": 0, "cpuTimeMillis": 0, "wallTimeMillis ","processedRows ": 0,"processedBytes ": 0},"오류 ": {"메시지 ":"작업자 노드를 사용할 수 없음 ","errorCode ": 65541,"errorName ":"NO_NODES_AVAILABLE ","errorType " : "", "": "", "" ":" "" "" "작업 노드를 사용할 수 없습니다", "억제": "" "": ""INTERNAL_ERROR ""유형 ":"com.facebook.presto.spi.PrestoException " 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.g ","com.facebook.presto.execution.scheduler.SqlQueryScheduler.lambda $ null $ 0 (SqlQueryScheduler.java:140) ","java.util.HashMap.computeIfAbsent (HashMap.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) " ]}}}

+0

일반적으로이 오류가 발생하기 전에 어떤 일이 발생했는지 이해해야합니다. 근로자가 충돌을 일으켰거나 연결이 끊기거나 정지되거나 반응이 없어졌으며 그 이유는 무엇입니까? –

+0

실제로 작업자는 도달 가능/작업 중이므로 쿼리가 간헐적으로 실패합니다. 현재 하드웨어가 부하를 지원할 수 없기 때문일 수 있습니까? – dabansal

답변

1

당신의 노동자가 충돌하는 많은 이유가있을 수 있습니다 :

조회에 일부 리소스를 차단하고 충돌 당신의 노동자가 발생하거나 실행하는 쿼리에 대한 리소스 부족이있을 수 있습니다. 쿼리 요구에 맞게 프레스토 서버를 config.properties 파일로 재구성해야합니다.

+0

예. jvm.config 파일에서 xmx 매개 변수를 변경하여 해결되었습니다. – dabansal