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 启动期间,将发生以下事件
- 如果 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添加新的语言脚本支持