Document: 是语部es搜索的最小单位,被序列化成json对象存入es。构梳 Index: 索引是构梳文档的容器,一类文档的术署架集合,存储在分片Shard上。语部 节点: ES实例的java进程,节点名称在启动时通过 -Enode.name指定,语部每个节点存储集群状态信息。构梳 主分片: 在创建索引时指定主分片,解决数据水平扩容问题。 副本: 主分片的备份,解决数据高可用问题。 https://www.elastic.co/guide/en/elasticsearch/reference/7.10/modules-node.html Elasticsearch7.9通过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职责、不保存数据、不预处理;负责接受请求、分发请求、汇总结果 备注:生产环境建议一个节点设置单一角色,有利于更好的性能和根据角色定制化配置。 衡量集群健康与否的三种状态: 官方API文档:// index API https://www.elastic.co/guide/en/elasticsearch/reference/8.1/indices.html // Get index API https://www.elastic.co/guide/en/elasticsearch/reference/8.1/indices-get-index.html // cat API 生产环境架构中每个节点配置单一职责,具体为Master、Data、Ingest、Coordinate的一个,有利于每个角色可以使用不同的机器配置。 生产环境通常配置3台 低配置(低CPU核数、小内存、低磁盘) 高配置(高CPU核数、大内存、SSD盘) 中配置(高CPU核数、源码下载中内存、低磁盘) 备注:集群中存在大量复杂的查询时,通过增加协作节点提升查询性能。 备注:通过配置不同的读写负载均衡,分离读写请求,读请求路由到协作节点,写请求路由到Ingest节点,协作节点和Ingest节点可以水平扩展。 备注:冷热分离架构,Hot节点通过高配置承担更多的读写压力,冷节点承担一定的读请求,常见于日志类使用场景。 备注:ES集群由data节点和master节点构成,常见于非生产环境以及线上读写均无压力的场景。一、术署架基本概念与术语
二、节点角色与集群状态
1.节点角色
Node官方文档:2.集群状态
三、常用集群部署架构
1.各角色配置
2.集群部署架构
2.1 水平扩展