es切片和集群

解决单点故障

支持高并发

解决海量数据

1.cluster 集群:包含多个节点,每个节点属于哪个集群是通过一个集群名称(集群名称,默认是elasticsearch)来决定的,对于中小型应用来说,刚开始一个集群就一个节点很正常

通过集群名称来决定的

2.Node 节点:集群中的一个节点,节点也有一个名称(默认是随机分配的),节点名称很重要(在执行运维管理操作的时候),默认节点会去加入一个名称为"elasticsearch"的集群,如果直接启动一堆节点,那么它们会自动组成一个elasticsearch集群,当然一个节点也可以组成一个elasticsearch集群

集群中的一个节点,节点也有一个名称

3.shard(分片):单台机器无法存储大量数据,es可以将一个索引中的数据切分为多个shard,分布在多台服务器上存储。有了shard就可以横向扩展,存储更多数据,让搜索和分析等操作分布到多台服务器上去执行,提升吞吐量和性能。每个shard都是一个lucene index。

4.replica(复制品):预防宕机,为主分片创建多个副本,默认创建五个,从切片默认一个,从切片可以修改。因此可以为每个shard创建多个replica副本

从分片,来做数据冗余

es的流程

一个集群里有多个节点,Node1,Node2,Node3

ES默认就是分布式存储,Es的数据存储都是分片进行存储,一个索引库下有多个主shard,当然为了解决主shard单点故障问题,每个主shard还可以有多个从shard,来做数据冗余。

1.创建索引库的时候,就要确定主shard的数量,后续shard数量是不能修改的。

2.主shard不能和它和当前它自己的从分片在同一个节点,同一家人不能都在一家公司

3.分片都是分别在各个节点上的

4.一个主可以有多个从,但是一个从只能有一个主。

5.同一个主分片的从分片,也不能在同一个节点。

6.主切片位置确定不能改,从切片可以改。

写数据时,怎么得知主分片位置

通过计算documentId 的hashi值的主shard数量,再看计算出的分片在哪个一个主分片

连接节点,存储数据,并将数据复制给从分片。

读数据:也是hash模以主切片的数量,连接该节点。获取主切片从分片信息,通过负载均衡,从多个从分片获得一个从分片,然后读。

后面我想了想,主切片存量不够了怎么办,又不能新增主切片。

我问ai,重新搞个索引库,然后多指定些主切片

为了提高并发,主切片负责写,从切片负责读。

5.集群状态,红绿灯 ,绿色健康,黄色能用(从部分不活跃),红色不健康,至少一个主 不活跃。

6.增加节点,从分片会自动负载均衡。

索引库可以有多个主分片,一个文档只存在一个分片

7.节点都是分了类型的,master节点,client节点,data节点-存放数据的

master节点:类似于注册中心,管理所有数据节点和分片的关系

client节点:负载均衡节点,客户端先连接的client节点,接收外部发生的请求,放在本地,通过计算,计算hash值,进行连接操作。

角色分配不清楚,会出现脑裂问题,高并发,既要接收数据,又要管理,又要写,脑容量不够,最好给节点分配角色。

node.master

node.data 两个都是默认为true

master:代表有资格,决定的话,node.data = false

数据节点:node.master = false

负载均衡

相关推荐
虎头金猫7 小时前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
这个DBA有点耶8 小时前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G8 小时前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备8 小时前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远9 小时前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
2601_9622186110 小时前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
-梅10 小时前
linux(8) 软硬链接
linux·运维·服务器
Wang's Blog11 小时前
Java 项目实战: 外卖平台-文件下载与ServletOutputStream回写浏览器
服务器·项目开发
Elasticsearch11 小时前
Elastic Observability 的跨项目搜索:通过一个查询搜索所有关联项目
elasticsearch
张洛闻Eren11 小时前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github