Elasticsearch集群状态灯代表含义
了解指示灯状态之前需要先了解下什么是
分片
和副本
。
Sharing(分片、水平扩展)
比如我们的ES集群是3节点的,每个节点最多只能存放300G的文档。当前我们有个大索引有900G,就可以进行分片拆分成3个小索引,每个节点300G,如果我们有10个节点就一个就可以存放一个3T的大索引。
将一个物理大索引拆分成若干个小索引
每一个小索引称为一个Shard(Primary Shard)
一个Shard本质上是一个Lucene Index
Index是逻辑盖帘,底层是若干戈Shards,分部再若干个节点上
一个Shard最多可存放20亿个文档
Replication(副本、高可用)
副本是在我们的索引上创建的
是分片的完全拷贝,称为replica shards
被复制的源Shard称为Primary Shard
Primary Shard+ Replica Shards称为Replication Group
Replica Shards也支持查询请求,所以间接性提升了查询性能
Replica Shard数量不配置默认为1个
Red
红色:部分Shard还未被分配到节点(未就绪),启动状态
例如创建了个monster索引,设置了3个分片(Shard),2个副本(Replica)
PUT /monster
{
"settings": {
"index":{
"number_of_shards":3,
"number_of_replicas":2
}
}
}
我们是3个节点的集群es01、es02、es03,假如现在es01节点上前两个Shard已经就绪了,而第三个Shard还在初始化中,这时候就会显示红灯状态。
Yellow
黄色:Shards已经分配和就绪,但Replicas还未分配到节点(未就绪)
接着上面的例子,等了一段时间后第三个Shard也启动好了,3个Shards都处于就绪状态了,就开始看副本Replicas。
我们设置了每个Shard有2个副本,但是集群我们只启动es01一个节点,而Primary Shard不能和Replica Shard在同一个节点上,所以副本没有节点可放,这时候Shard已经就绪中了也就是索引已经能被使用了,只是副本没被分配,显示黄灯。
Green
绿色:所有Shards和Replicas就绪
如果现在es02、es03节点都启动好了,那么每个Shard的2个副本就可以分别存放另外两个节点上了,集群状态就处于绿灯了。
例如:
Shard1在es01节点上,它的2个副本分别在es02、es03
Shard2在es02节点上,它的2个副本分别在es01、es03
Shard3在es03节点上,它的2个副本分别在es01、es02
假如es01节点挂了:
这时候在es01节点上的Shard1和Shard2的副本(Replica2)以及Shard3的副本(Replica3)都识别不到了
但是es02、es03上有Shard1的副本,就会有一个副本提升为Shard1,这时候就又有3个Shard了(Shard1、Shard2、Shard3)能正常使用索引了,但是Shard只有1个副本了,不满足条件所以亮黄灯(Yellow),如果es01节点启动好了,状态灯又会变成绿色。
评论区