记录下解决方法:
es的健康状态yellow,并一直持续yellow,查看shards,存在UNASSIGNED分片
首先查询:
curl -XGET http://127.0.0.1:9200/_cat/shards | grep UNASSIGNED | sort
可以看到所有的 UNASSIGNED分片

Elasticsearch是有自动分配节点功能的,但一直没有分配成功,是什么原因导致的呢?我们首先来查看下es的自动分配功能
curl -XGET http://127.0.0.1:9200/_cluster/settings
{
"persistent" : { },
"transient" : { }
}
没有启动自动分配功能
那么有如下解决方式
解决方式1:
启动自动分配功能
curl -XPUT -H "Content-Type: application/json" http://127.0.0.1:9200/_cluster/settings -d
'{
"persistent": {},
"transient": {
"cluster": {
"routing": {
"allocation": {
"enable": "all" }
}
}
}
}'
查看自动分配功能
curl -XGET http://127.0.0.1:9200/_cluster/settings?pretty
{
"persistent" : { },
"transient" : {
"cluster" : {
"routing" : {
"allocation" : {
"enable" : "all"
}
}
}
}
}
解决方式2:
重建副本分片
PUT /index/_settings
{
"index" : {
"number_of_replicas" : 0
}
}
重新分配副本分片
PUT /index/_settings
{
"index" : {
"number_of_replicas" : 1
}
}
两种方式都可以解决由于副本丢失等造成的yellow状态 副本分片 UNASSIGNED
博客记录了Elasticsearch健康状态为yellow且存在UNASSIGNED分片的解决方法。ES有自动分配节点功能却未分配成功,原因是未启动该功能。提供两种解决方式,一是启动自动分配功能,二是重建并重新分配副本分片,可解决副本丢失导致的问题。

1427

被折叠的 条评论
为什么被折叠?



