zoukankan      html  css  js  c++  java
  • elasticSearch6源码分析(5)gateway模块

    1.gateway概述

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

    2.gatewaymodule模块

        @Override
        protected 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.
     */
  • 相关阅读:
    最长公共子序列和最长公共连续子序列 andrew的日志 网易博客
    Best Computer Science Interview Books JiansNet
    分享:Mitmproxy 0.9 发布,支持 SSL 的 HTTP 代理
    创业环境差,被迫“走西口”:一位台湾码农的心路历程
    STLSupport GDB Wiki
    utils C/C++的常用工具类
    题目36 ACM在线评测系统
    DRAMA QUEEN_洪晃在ilook的BLOG
    Codeblocks调试STL——gdb with python support Wanglikai91 博客园
    python urlencode 编码
  • 原文地址:https://www.cnblogs.com/davidwang456/p/10109692.html
Copyright © 2011-2022 走看看