receive_timeout_transport_exception: Request timed out waiting for a response from another node(等待另一节点响应时请求超时)
Elasticsearch含义
一个节点向另一个节点发送了请求,但响应未在配置的时间内到达,请求超时。节点间(transport)调用无法完成。
原因
目标节点负载过高、长时间 GC 停顿、磁盘缓慢/CPU 压力、网络延迟/丢包,或目标节点过于繁忙而无法响应。在大型查询、大批量操作和分片再平衡期间很常见。
解决方法
检查受影响节点的资源使用情况:用 GET _nodes/stats 检查 JVM 堆、GC 和线程池饱和情况。用 GET _cat/thread_pool?v 检查被拒绝/排队的任务。测量网络延迟。降低负载(更小的查询/批量大小),并检查堆和硬件资源。如果问题持续,增加节点以分摊负载。
同一数据库的其他条目
- not_x_content_exceptionCompressor detection error / body is not valid content(压缩格式检测错误/请求体不是有效内容)
- document_source_missing_exceptionDocument source is missing(文档 source 不存在)
- node_not_connected_exceptionNode is not connected(节点未连接)
- 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(获取分片锁超时)
- parsing_exceptionFailed to parse the search request / query DSL(无法解析搜索请求/query DSL)