搭建集群,分片与优化相关内容讲解
树图思维导图提供 ElasticSearch集群脑图 在线思维导图免费制作,点击“编辑”按钮,可对 ElasticSearch集群脑图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:adc1434f630d29218ff4cb95c26b549b
ElasticSearch-03-集群思维导图模板大纲
Elasticsearch 做集群,至少有三台服务器
分片分配策略
es通过数据分片shard
提高服务端可用性
将数据分散保存在不 同的节点上以降低当单个节点发生故障时对数据完整性的影响
通过副本replica
保证数据的完整性
ES在分配单个索引的分片时会将每个分片尽可能分配到更多的节点上
Paimary只能在索引创建时配置数量,而replica可以在任何时间分配
并且primary支持读和写操作,而replica只支持客户端的读取操作,数 据由es自动管理,从primary同步
ES不允许Primary和它的Replica放在同一个节点中,并且同一个节点不 接受完全相同的两个Replica
同一个节点允许多个索引的分片同时存在。
分片过多带来的副作用d
大多数搜索会命中多个分片,每个分片在单个cpu线程上运行搜素
但跨大量分片的搜索会耗尽节点的搜索线程 池。这会导致低吞吐量和缓慢的搜索速度
而且如果分片数量过多,将会 对集群性能产生负面影响。每个分片都有一定的开销
如何确定主分片数和副本分片数
分片的合理容量:10GB-50GB
堆内存容量和分片数量的关联:小于20分片/每GB堆内存,一个节点可 以容纳的分片数量与节点的堆内存成正比
分片数分配算法
分片数 * (副本数 + 1) <= ES集群的总CPU核心个数
副本数分配算法
副本数 <= ES集群的服务器个数 - 1
分片概述
分片是Elasticsearch的核心功能之一。
文档和索引被分成多个碎片,
通过分片可以将大型索引分解为更小的碎片
这些碎片在多个节点上存 储,提高了索引的可扩展性和容错性。
每个分片都是一个 完整的Lucene索引,它可以独立地被搜索和更新。
分片的数量决定了索引最多能存储多少数据。
默认情况下,每个索引会分配5个主分片和1个副本分片(7.x之前,7.x之后 默认都是1)。
副本分片可以在主 分片故障是,防止数据丢失,同时可以提供读请求。可以根据需要调整主 分片和副本分片的数量,以满足特定的性能和容错要求
分片设置
指令操作
配置文件操作
elasticsearch索引优化
1.Elasticsearch写数据底层原理介绍
2.优化 fsync
3.优化 refresh
优化 merge
线程池优化
锁定内存,不让JVM使用Swap内存