ES 节点角色

参考:https://www.elastic.co/guide/en/elasticsearch/reference/7.17/modules-node.html#ml-node

1. 修改节点角色

Data 节点在磁盘上维护的数据有:

  • 分配给该节点的分片上的 Shard 数据

  • 分配给该节点的分片相关联的 index 元数据

  • 集群范围的元数据,例如配置参数和 index 模板

同样的, master-eligible 节点在磁盘上维护的数据有:

  • 集群中每个 index 的 index 元数据

  • 集群范围的元数据,例如配置参数和 index 模板

每个节点在启动时,检查数据路径的内容,在发现非理想数据后,会拒绝启动。这个策略可以避免加载非必要的悬挂 index,而悬挂 index 会导致集群健康为 red 状态。

  • 非 data 角色的节点发现 shard 数据后拒绝启动

  • 非 master 及 data 角色的节点在发现有 index 元数据后拒绝启动

节点重利用:修改 elasticsearch.yml 文件并重启可以修改节点角色。

  • 如果想去掉一个 data 节点的 data 角色,需要使用 allocation filter 来安全的将全部 shard 数据迁移到其他节点

  • 如果想去掉节点的 data 和 master 角色,最简单的方法是使用一个空的数据路径来启动一个全新的节点。

2. 节点角色

集群需要的节点角色有

  • Master

  • data_contentdata_hot) 或 data

其他角色必要性:

  • 跨集群检索和跨集群副本需要 remote_cluster_client 角色

  • Stack Monitoring 和 ingest pipelines 需要 ingest 角色

  • Fleet,Elastic 安全应用,以及 transforms 需要 transform 角色

  • 机器学习特征,例如 anomaly detection,需要 ml 角色

如果具有大量的机器学习任务或持续的 transforms,需要考虑把 master-eligible 节点跟 data 节点、 ml 节点、 transform 节点分开


image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容