Elasticsearch 软件包结构

Elasticsearch 软件包通常包含以下目录

  • bin:包含启动和管理Elasticsearch的脚本
  • Elasticsearch.bat:这是启动Elasticsearch的主要执行脚本
  • Elasticsearch-plugin.bat:这是管理插件的脚本
  • 例如:sudo bin/elasticsearch-plugin install analysis-kuromoji
  • config:包含 Elasticsearch 配置。最重要的配置如下
  • Elasticsearch.yml:这是Elasticsearch的主要配置文件
  • log4j2.properties:这是日志记录配置文件
  • lib:包含运行 Elasticsearch 所需的所有库
  • logs:此目录在安装时为空,但未来将包含应用程序日志
  • modules:包含 Elasticsearch 默认插件模块
  • plugins:此目录在安装时为空,但未来将包含安装自定义插件

在 Elasticsearch 启动期间,将发生以下事件

  1. 如果 Elasticsearch.yml 中未提供节点名称,则会自动生成一个节点名称。

该名称是随机生成的

2. 为此节点生成一个节点名称哈希

3. 加载默认安装的模块,重要的如下

aggs-matrix-stats:提供对聚合矩阵统计信息的支持
analysis-common:这是 Elasticsearch 的通用分析器 (common analyzer),它扩展了ELasticsearch语言处理能力
ingest-common:这些包含采集(ingest)模块的常见功能
lang-expression、lang-mustache、lang-painless:这些是Elasticsearch默认支持的脚本语言
mapper-extras:者提供了一种额外的映射器(Mapper)类型,例如 token_count 和 scaled
_float
parent-join:者提供了额外的查询,例如 has_children、has_parent
percolator:提供了过滤器(Percolator)功能
rank-eval:为实验等级评估api提供支持。这些用于评估查询的得分
reindex:这提供了对重新索引(reindex)操作(通过查询进行重新索引/更新)的支持
x-pack-*:所有xpack模块的激活都依赖于订阅

如果有插件,则会加载它们

如果未配置,则Elasticsearch会自动在本地主机上绑定

9300:此端口用于内部节点通信
9200:此端口用于 HTTP REST API

启动后,如果索引可用,则将它们还原并准备使用

在节点启动期间,许多必须的服务会自动启动,最重要的如下

集群服务 Cluster Service:

这有助于你管理集群状态以及节点内的通信和同步

索引服务 Index Service:

这可以帮助你管理所有的索引操作,初始化所有活动索引和分片

映射服务 Mapping Service:

这有助于你管理存储在集群中的文档类型

网络服务 Network Service:

如果安装了 Thrift 插件,则包括 HTTP REST 服务 9200 和 内部ELasticsearch协议 9300 等服务

插件服务 Plugin Service:

用于管理插件的加载

聚合服务 Aggregation Service:

者提供了对存储的 ELasticsearch 文档的高级分析,例如 统计数据、直方图 和 文档分组等

采集服务 Ingesting Service:

这为采集之前的文档预处理提供了支持,例如 字段扩充、NLP处理、类型转换和自动字段填充等

语言脚本服务 Language Scripting Service:

这使得你可以向ELasticsearch添加新的语言脚本支持

Send a Message