欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

elasticSearch6源码分析(5)gateway模块

发布时间:2025/4/5 编程问答 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 elasticSearch6源码分析(5)gateway模块 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1.gateway概述

The local gateway module stores the cluster state and shard data across full cluster restarts.

2.gatewaymodule模块

@Overrideprotected void configure() {bind(DanglingIndicesState.class).asEagerSingleton();bind(GatewayService.class).asEagerSingleton();bind(TransportNodesListGatewayMetaState.class).asEagerSingleton();bind(TransportNodesListGatewayStartedShards.class).asEagerSingleton();bind(LocalAllocateDangledIndices.class).asEagerSingleton();}

2.1 DanglingIndicesState

/*** The dangling indices state is responsible for finding new dangling indices (indices that have* their state written on disk, but don't exists in the metadata of the cluster), and importing* them into the cluster.*/

2.2 GatewayService 

 配置信息

public static final Setting<Integer> EXPECTED_NODES_SETTING =Setting.intSetting("gateway.expected_nodes", -1, -1, Property.NodeScope);public static final Setting<Integer> EXPECTED_DATA_NODES_SETTING =Setting.intSetting("gateway.expected_data_nodes", -1, -1, Property.NodeScope);public static final Setting<Integer> EXPECTED_MASTER_NODES_SETTING =Setting.intSetting("gateway.expected_master_nodes", -1, -1, Property.NodeScope);public static final Setting<TimeValue> RECOVER_AFTER_TIME_SETTING =Setting.positiveTimeSetting("gateway.recover_after_time", TimeValue.timeValueMillis(0), Property.NodeScope);public static final Setting<Integer> RECOVER_AFTER_NODES_SETTING =Setting.intSetting("gateway.recover_after_nodes", -1, -1, Property.NodeScope);public static final Setting<Integer> RECOVER_AFTER_DATA_NODES_SETTING =Setting.intSetting("gateway.recover_after_data_nodes", -1, -1, Property.NodeScope);public static final Setting<Integer> RECOVER_AFTER_MASTER_NODES_SETTING =Setting.intSetting("gateway.recover_after_master_nodes", 0, 0, Property.NodeScope);

2.3 TransportNodesListGatewayStartedShards

/*** This transport action is used to fetch the shard version from each node during primary allocation in {@link GatewayAllocator}.* We use this to find out which node holds the latest shard version and which of them used to be a primary in order to allocate* shards after node or cluster restarts.*/

 

转载于:https://www.cnblogs.com/davidwang456/p/10109692.html

总结

以上是生活随笔为你收集整理的elasticSearch6源码分析(5)gateway模块的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。