节点类型
master eligible / data / ingest / coordinating / machine learning
Elasticsearch 被启动后,默认就是 Master eligible Node。然后通过参与选主过程,可以成为 Master Node。
master 节点
负责同步集群状态信息:所有节点信息所有索引即其 Mapping 和 Setting 信息所有分片路由信息主节点负责集群相关的操作,例如创建或删除索引,跟踪哪些节点是集群的一部分,以及决定将哪些分片分配给哪些节点。
只能 Master 节点可以修改信息,是因为这样就能保证数据得一致性。
ingest节点
提取节点,预处理数据,可以看作是数据前置处理转换的节点,支持 pipeline管道 设置,可以使用 ingest 对数据进行过滤、转换等操作,类似于 logstash 中 filter 的作用,功能相当强大。
在实际文档索引发生之前,使用Ingest节点预处理文档。Ingest节点拦截批量和索引请求,它应用转换,然后将文档传递回索引或Bulk API。
data 节点
数据节点,用于保存数据,其在数据扩展上起至关重要的作用。
coordinating节点
是负责接收任何 Client 的请求,包括 REST Client 等。该节点将请求分发到合适的节点,最终把结果汇集到一起。默认每个节点都是 coordinating 节点,设置其他类型全部为 false。
搜索请求在两个阶段中执行(query 和 fetch),这两个阶段由接收客户端请求的节点 - 协调节点协调。
在请求阶段,协调节点将请求转发到保存数据的数据节点。 每个数据节点在本地执行请求并将其结果返回给协调节点。在收集fetch阶段,协调节点将每个数据节点的结果汇集为单个全局结果集。
machine learning节点
负责跑机器学习Job,用来做异常检测。通过 node.ml 配置,默认 true,需要通过 x-pack 开启。
在开发环境中,一个节点可承担多种角色。
在生产环境中:
- 根据数据量,写入和查询的吞吐量,选择合适的部署方式
- 建议设置单一角色的节点
单一节点好处,职责分离
master 节点可以使用低配置cpu ram 和 磁盘
data 节点 使用高配cpu ram 磁盘
ingest 节点 使用高配cpu 中配ram 低配磁盘
本文暂时没有评论,来添加一个吧(●'◡'●)