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

负载均衡

相关推荐
w-w0w-w1 小时前
SQL注入
网络·数据库·sql
tianyuanwo1 小时前
NetBox 数据库详解:当“关系型数据库”被装进一个网络运维的领域模型里
运维·数据库·netbox
一条泥憨鱼1 小时前
【计算机网络】短连接、长连接与连接池:从 TCP 握手到池化复用的完整链路
网络·数据库·网络协议·tcp/ip·计算机网络
IvorySQL2 小时前
深入 PostgreSQL WAL:从崩溃恢复到逻辑复制
数据库·postgresql
幽灵诶3 小时前
Mysql(基于测试的学习)
数据库·mysql
砚底藏山河3 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
知已难寻4 小时前
03 · OpenStack的计算管理 Nova
运维·服务器·开发语言·云原生·云计算·openstack·开源软件
宇宙无敌暴龙战士6664 小时前
MySQL 8 库表操作学习笔记:SQL 基础、库表管理、约束与用户授权全流程
数据库·sql·mysql·学习笔记·后端开发
猿究院_夏燊4 小时前
MySQL 的四种隔离级别
java·数据库·mysql
huainingning4 小时前
Windows syslog日志服务器搭建与模拟器对接
运维·服务器·智能路由器