【ElasticSearch】Es 启动流程 初始化流程 源码分析

文章目录

  • 1.概述
    • 1.1 核心类
  • 2. 主要流程
    • 2.1 主方法
      • 2.1.1 关闭过程分析
    • 2.2 execute 方法
    • 2.3 Bootstrap.init
    • 2.4 INSTANCE.setup方法
    • 2.5 创建节点
      • 2.5.1 创建PluginsService
      • 2.5.2 创建ThreadPool及ThreadContext实例
      • 2.5.3 初始化 ResourceWatcherService
      • 2.5.4 创建 NodeClient
      • 2.5.5 创建 ScriptModule ScriptService
      • 2.5.6 创建 AnalysisModule
      • 2.5.7 初始化 SettingsModule
      • 2.5.8 初始化 NetworkService
      • 2.5.9 初始化 ClusterService
      • 2.5.10 初始化 ConsistentSettingsService
      • 2.5.11 初始化 IngestService
      • 2.5.12 初始化 ClusterInfoService
      • 2.5.13 初始化 UsageService
      • 2.5.14 初始化 MonitorService
      • 2.5.15 初始化 IndicesModule
      • 2.5.16 初始化 SearchModule
      • 2.5.17 初始化 GatewayModule
      • 2.5.18 初始化 PageCacheRecycler
      • 2.5.19 初始化 NamedWriteableRegistry
      • 2.5.20 初始化 MetaStateService
      • 2.5.21 初始化 IndicesService
      • 2.5.22 初始化 AliasValidator
      • 2.5.23 初始化 MetadataCreateIndexService
      • 2.5.24 初始化 ActionModule
      • 2.5.25 初始化 RestController
      • 2.5.26 初始化 NetworkModule
      • 2.5.27 初始化 MetadataUpgrader
      • 2.5.28 初始化 MetadataIndexUpgradeService
      • 2.5.29 初始化 Transport
      • 2.5.30 初始化 TransportService
      • 2.5.31 初始化 GatewayMetaState
      • 2.5.32 初始化 ResponseCollectorService
      • 2.5.33 初始化 SearchTransportService
      • 2.5.34 初始化 HttpServerTransport
      • 2.5.35 初始化 RepositoriesModule
      • 2.5.36 初始化 RepositoriesService
      • 2.5.37 初始化 SnapshotsService SnapshotShardsService
      • 2.5.38 初始化 TransportNodesSnapshotsStatus
      • 2.5.39 初始化 RestoreService
      • 2.5.40 初始化 RerouteService
      • 2.5.41 初始化 DiskThresholdMonitor
      • 2.5.42 初始化 DiscoveryModule
      • 2.5.43 初始化 NodeService
      • 2.5.44 初始化 SearchService
      • 2.5.45 初始化 PersistentTasksExecutorRegistry PersistentTasksClusterService
      • 2.5.46 初始化 PersistentTasksService
      • 2.5.47 初始化 modules
      • 2.5.48 初始化http handlers
    • 2.6 start方法
  • N.扩展阅读

1.概述

Elasticsearch的bootstrap代码写得很好的server,当中包含了大量的自检和环境检测代码,甚至用到了JNA来做OS层面的参数获取和设置。

Elasticsearch的启动流程主要涉及Elasticsearch、Bootstrap和Node三个类。主要包括加载三个步骤:

加载本地环境:读取命令行参数和配置文件,生成本地环境配置
创建Node:创建节点实例,创建各种服务类对象,注入各种功能模块
启动Node:启动各种服务,加入集群

1.1 核心类

ES的启动流程主要包含以下核心类:

【ElasticSearch】Es 启动流程 初始化流程 源码分析_第1张图片

你可能感兴趣的:(源码,es,启动流程)