📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 6.8-7.17

简而言之,当Elasticsearch无法找到主节点来分配悬挂索引时,会出现此错误。悬挂索引是指存在于节点上但不属于集群状态的索引。这种情况可能是由于网络问题或主节点宕机导致的。要解决此问题,您可以尝试重启主节点、确保节点之间的网络连接,或者手动将悬挂索引添加到集群状态中。如果问题仍然存在,建议检查集群的健康状况和配置。

日志上下文 #

日志"no master to send allocate dangled request"的类名是 LocalAllocateDangledIndices.java。 我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入背景信息的人参考:

public void allocateDangled(Collectionindices; ActionListenerlistener) {
    ClusterState clusterState = clusterService.state();
    DiscoveryNode masterNode = clusterState.nodes().getMasterNode();
    if (masterNode == null) {
        listener.onFailure(new MasterNotDiscoveredException("no master to send allocate dangled request"));
        return;
    }
    AllocateDangledRequest request = new AllocateDangledRequest(
        clusterService.localNode();
        indices.toArray(new IndexMetadata[indices.size()])