Elasticsearch健康状态黄色

Elasticsearch的健康状态分为:(正常),(警告),(严重告警)

在单机部署后我们一般可以看到elasticsearch的索引为黄色状态。

查看所有索引:

1
2
curl -X GET 127.0.0.1:9200/_cat/indices?v 
yellow open test_index LT_itfceQxKJZBQf8jJx9A 1 1 4 0 9.3kb 9.3kb

查看索引test_index的健康状态为yellow。

查看所有分片:

1
2
3
curl -X GET 127.0.0.1:9200/_cat/shards
test_index 0 p STARTED 376432 42.8mb 172.17.0.2 node-1
test_index 0 r UNASSIGNED

p代表主分片,r代表副本分片,可以看到主分片是正常的,而副本分片没有数据。

一般如果索引的主分片正常,而副本分片不可用,健康状态为黄色。

Elasticsearch 7版本以下默认配置每个索引分配五个分片与一个副本,每个分片对应有一个副本,所以初始一个索引有十个分片(五个主分片加五个副本分片),而7版本后默认配置一个分片与一个副本。

副本分片的主要目的就是为了故障转移,如果持有主分片的节点挂掉了,一个副本分片就会晋升为主分片的角色。所以主分片与副本主片不能在一个节点上面。

但可能我们只是部署单机,这时只有一个主分片,而没有副本分片,这时的健康状态就都为黄色,因为副本分片不可用。

解决方法,单机elasticsearch可以设置所有index的副本为0:

1
2
3
4
5
6
curl -XPUT "http://localhost:9200/_settings" -H 'Content-Type: application/json' -d'
{
"index" : {
"number_of_replicas" : 0
}
}'

执行后查看索引:

1
2
curl -X GET 127.0.0.1:9200/_cat/indices?v
green open test_index LT_itfceQxKJZBQf8jJx9A 1 0 4 0 9.4kb 9.4kb

可以看到索引状态变成绿色。

查看分片:

1
2
curl -X GET 127.0.0.1:9200/_cat/shards
bookdb_index 0 p STARTED 4 9.4kb 172.17.0.2 0ce82ecf11c9

查看到已无副本分片,只有主分片。


- - END - -


腾讯云
0%