Elasticsearch知识汇总之 ElasticSearch高可用方案

发布于:2025-05-07 ⋅ 阅读:(13) ⋅ 点赞:(0)

ElasticSearch高可用方案

6.1 高可用架构

       请求协调节点根据负载均衡,转发给主分片节点,主分片同步复制给从节点,主从节点都写入完成返回客户端请求成功。对于读请求,协调负载到任意节点数据节点,数据节点把各自符合要求的数据汇反馈给协调节点,协调节点做最后的数据整合,最终反馈给客户端。

       一个运行中的 Elasticsearch 实例称为一个节点,而集群是由一个或者多个拥有相同 cluster.name 配置的节点组成,它们共同承担数据和负载的压力。当有节点加入集群中或者从集群中移除节点时,集群将会重新平均分布所有的数据。

        当一个节点被选举为主节点时,它将负责管理集群范围内的所有变更,例如增加、删除索引,或者增加、删除节点等。而主节点并不需要涉及到文档级别的变更和搜索等操作,所以当集群只拥有一个主节点的情况下,即使流量的增加它也不会称为瓶颈。任何节点都可以称为主节点。

       作为用户,我们可以将请求发送到集群中的任何节点,包括主节点。每个节点都知道任意文档所处的位置,并且能够将我们的请求直接转发到存储所需文档的节点。无论我们将请求发送到哪个节点,它都能负责从各个包含我们所需文档的节点收集回数据,并将最终结果返回给用户,Elasticsearch 对这一切的管理都是透明的。

ES的目录含义

目录

含义

modules

模块依赖目录

lib

依赖库目录

logs

日志目录

plugins

插件目录

bin

可执行文件目录

config

配置文件目录

data

数据存储目录

6.2 节点角色

Elasticsearch通过node.roles配置节点角色,在配置文件elasticsearch.yml设置

角色选项

说明

master

node.roles: [ master ]:拥有选举权和被选举权

master, voting_only

node.roles: [ master, voting_only ]:只有选举权没有被选举权

data

node.roles: [ data ]:处理与数据相关的操作CRUD、搜索、聚合

data_content

node.roles: [ data_content ]:冷热分层架构,通用节点,CRUD、搜索、聚合

data_hot

node.roles: [ data_hot ]:冷热分层架构,hot节点承担快速读写操作,可以配置为SSD盘

data_warm

node.roles: [ data_warm ]:冷热分层架构,warm节点索引不定期更新

data_cold

node.roles: [ data_cold ]:冷热分层架构,cold节点只存只读索引

ingest

node.roles: [ ingest ]ingest节点用于对写入和查询的数据进行预处理

Coordinating only node

node.roles: [ ]:协调节点不承担master职责、不保存数据、不预处理

备注:生产环境建议一个节点设置单一角色,有利于更好的性能和根据角色定制化配置。

6.2 集群状态

衡量集群健康与否的三种状态:

Green:主分片与副本正常分配

Yellow:主分片全部正常分配,有副本分片未正常分配

Red:有主分片未能正常分配


网站公告

今日签到

点亮在社区的每一天
去签到