编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

elasticsearch 常见的集群部署方式

wxchong 2024-07-26 22:38:49 开源技术 12 ℃ 0 评论

节点类型

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 低配磁盘



Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表