node_not_connected_exception: Node is not connected
Elasticsearch의미
노드가 통신해야 하는 다른 노드와 현재 연결되어 있지 않다. 클러스터 내부(transport 계층) 연결이 끊겨 요청을 대상 노드로 전달할 수 없었다.
원인
네트워크 장애나 패킷 손실, 대상 노드의 크래시/재시작, 방화벽/포트 차단(기본 transport 포트 9300), GC pause로 인한 노드의 일시적 무응답, DNS/호스트 해석 문제가 원인이다. 롤링 재시작 중 일시적으로 나타날 수 있다.
해결 방법
클러스터와 노드 상태를 확인한다: GET _cluster/health와 GET _cat/nodes?v로 어떤 노드가 없는지 확인한다. 노드 간 네트워크 접근과 transport 포트(9300)의 방화벽 규칙을 확인한다. 영향을 받은 노드의 로그에서 크래시, GC pause, OOM을 확인한다. 네트워크 안정성과 discovery/seed host 구성을 검토한다.
같은 데이터베이스의 다른 항목
- shard_not_found_exceptionShard not found
- not_x_content_exceptionCompressor detection error / body is not valid content (압축 감지 오류 / 본문이 유효한 콘텐츠가 아님)
- document_source_missing_exceptionDocument source is missing
- receive_timeout_transport_exceptionRequest timed out waiting for a response from another node (다른 노드의 응답 대기 중 요청 타임아웃)
- routing_missing_exceptionRouting value is required for this document (이 문서에는 routing 값이 필요)
- too_many_buckets_exceptionTrying to create too many buckets
- shard_lock_obtain_failed_exceptionObtaining shard lock timed out