ElasticSearch集群安全保障

本文详细介绍了ElasticSearch集群的健康状态监控指标,包括绿色、黄色和红色三种状态的含义,以及如何通过API查询集群状态。同时,深入探讨了分片(shard)的概念,包括主分片和复制分片的作用,以及如何在创建索引时设置分片数量。此外,还讲解了如何进行故障转移、横向拓展和分片数量的修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ElasticSearch集群监控指标:

健康状态

集群健康分为三个状态: green、yellow、red。

GET /_cluster/health

查看放回结果,如:

{
"cluster_name": "elasticsearch",
"status": "green", <1>
"timed_out": false,
"number_of_nodes": 1,
"number_of_data_nodes": 1,
"active_primary_shards": 0,
"active_shards": 0,
"relocating_shards": 0,
"initializing_shards": 0,
"unassigned_shards": 0
}

status值就是集群状态,说明如下:

颜色意义
green所有主要分片和复制分片都可用
yellow所有主要分片可用,但不是所有复制分片都可用
red不是所有的主要分片都可用

分片

分片(shard)是es工作的最小单元,保存一部分索引数据。文档存储在分片中,分配在集群中,如果集群扩容或者缩容则会移动分片,以保持平衡。

分片也分为主分片和复制分片,文档属于一个主分片,主分片大小决定索引存储的数据大小。

主分片

理论上主分片能存储的数据大小是没有限制的,限制取决于你实际的使用情况。分片的
最大容量完全取决于你的使用状况:硬件存储的大小、文档的大小和复杂度、如何索引
和查询你的文档,以及你期望的响应时间。

复制分片

复制分片是主分片的副本,防止单点故障造成数据丢失,复制分片也可以供读取请求,数量可以随时调整。

分片数据设置

在创建索引时,可以指定分片的数量,如添加index索引,设置主分片为2,复制分片为3

put /index
{
	"settings":{
		"number_of_shards":2,
		"number_of_replaces":3
	}
}

故障转移

在一个节点存储数据会有单点故障的可能,因为没有数据备份。
为了避免单点故障,可以启动第二节点。与第一个节点启动方式相同,只要集群名称相同启动后会自动发现第一个节点的集群,启动后主分片和复制分片会被并发复制到第二节点。
如果启动没有成功,检查是否网络广播被禁用或防火墙限制。

横向拓展

随着业务的增长,可以考虑做横向拓展,即添加新的节点机器,以减少节点负担。
例如给2个节点6个分片的集群添加新的节点,变化如图:
添加新节点
原本node1,node2存储6个分片,现在加入node3后会将分片分给node3,以缓解node1,node2的存储压力,并且可以使用node3的资源如cpu,内存等。

故障应对

当ES中的主节点故障后,会迅速生成一个主节点以维持工作,因为集群丢失主节点无法继续工作。
生成主节点后会检查主分片,如果主分片丢失,则将其复制分片改为主分片,当故障的节点恢复后会生成复制分片到该节点。

分片数量修改

为应对频繁的读写请求,可以适当的调整分片。
例如,修改索引doc的复制分片数量为2:

put /doc/_settings{
	"number_of_replicas":2
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值