问题一、索引呈现Unassigned
问题如图
问题呈现起因:因为该索引的主分片的正本未调配胜利导致。(根本原因应该是内存缓和)
解决形式:
1.确定有问题的索引列表(通过kibana查看:Kibana提供了Console UI来通过REST API与Elasticsearch交互,Console位于Kibana的Dev Tools栏下。)
#查问索引列表及状态
GET /_cat/shards?v&h=index,shard,prirep,state,unassigned.reason
#查问后果如下
index shard prirep state unassigned.reason
gaczrk 4 p STARTED
gaczrk 4 r UNASSIGNED CLUSTER_RECOVERED
gaczrk 2 p STARTED
gaczrk 2 r UNASSIGNED CLUSTER_RECOVERED
gaczrk 1 p STARTED
#起因
INDEX_CREATED: 因为创立索引的API导致未调配。
CLUSTER_RECOVERED: 因为齐全集群复原导致未调配。
INDEX_REOPENED: 因为关上open或敞开close一个索引导致未调配。
DANGLING_INDEX_IMPORTED: 因为导入dangling索引的后果导致未调配。
NEW_INDEX_RESTORED: 因为复原到新索引导致未调配。
EXISTING_INDEX_RESTORED: 因为复原到已敞开的索引导致未调配。
REPLICA_ADDED: 因为显式增加正本分片导致未调配。
ALLOCATION_FAILED: 因为分片调配失败导致未调配。
NODE_LEFT: 因为承载该分片的节点来到集群导致未调配。
REINITIALIZED: 因为当分片从开始挪动到初始化时导致未调配(例如,应用影子shadow正本分片)。
REROUTE_CANCELLED: 作为显式勾销从新路由命令的后果勾销调配。
REALLOCATED_REPLICA: 确定更好的正本地位被标定应用,导致现有的正本调配被勾销,呈现未调配。
# 2.查问单个索引配置信息
GET /driver-2021.03.03/_settings
# 后果如下
{
"driver-2021.03.04" : {
"settings" : {
"index" : {
"refresh_interval" : "5s",
"number_of_shards" : "1",
"provided_name" : "driver-2021.03.04",
"creation_date" : "1614729630195",
"number_of_replicas" : "1",
"uuid" : "vUOn0P-9TkKCojmsEEjCdg",
"version" : {
"created" : "7060199"
}
}
}
}
}
#3.查问单个索引分片信息
GET /driver-2021.03.04/_search_shards
#后果如下:
{
"nodes" : {
"qKQnEdF6TMePf9GLiH-4Ng" : {
"name" : "es-node2",
"ephemeral_id" : "ksU4VNkhR4iMI-mPHOLu0Q",
"transport_address" : "",
"attributes" : {
"ml.machine_memory" : "33531363328",
"xpack.installed" : "true",
"ml.max_open_jobs" : "20"
}
}
},
"indices" : {
"driver-2021.03.04" : { }
},
"shards" : [
[
{
"state" : "STARTED",
"primary" : true,
"node" : "qKQnEdF6TMePf9GLiH-4Ng",
"relocating_node" : null,
"shard" : 0,
"index" : "driver-2021.03.04",
"allocation_id" : {
"id" : "q3luk6zmSw29aO16ZplWXw"
}
}
]
]
}
##联合2,3剖析:
## number_of_shards(每个索引的主分片数) 1
## number_of_replicas(每个主分片的正本数)1
## 分片所占节点数=正本数+1
理论节点数就只有一个,所以是索引的正本未调配
解决形式:重新分配正本数
即.重置正本数
#1.先将该索引的正本数设为0
PUT /driver-2021.03.04/_settings
{
"number_of_replicas": 0
}
#2.再从新设置正本数
PUT /driver-2021.03.04/_settings
{
"number_of_replicas": 1
}
参考文档:
官网文档:索引设置
Elasticsearch学习之集群常见情况解决(干货)
Elasticsearch集群UNASSIGNED shareds问题 修复
elasticsearch查问某个索引分片信息
Elasticsearch 7.X : 设置索引正本数量和分片数量
发表回复