我将数据上传到我的单节点群集,并将索引命名为' gequest'。
当我从http://localhost:9200/_cluster/stats?human&pretty获取时,我得到:
"cluster_name" : "elasticsearch",
"status" : "yellow",
"indices" : {
"count" : 1,
"shards" : {
"total" : 5,
"primaries" : 5,
"replication" : 0.0,
"index" : {
"shards" : {
"min" : 5,
"max" : 5,
"avg" : 5.0
},
"primaries" : {
"min" : 5,
"max" : 5,
"avg" : 5.0
},
"replication" : {
"min" : 0.0,
"max" : 0.0,
"avg" : 0.0
}
}
}
当我在http://localhost:9200/_stats?pretty=true
上进行GET时"_shards" : {
"total" : 10,
"successful" : 5,
"failed" : 0
}
两个报告中的分片总数如何不一致?为什么统计API中的总分片数为10。如何追踪其他5?
答案 0 :(得分:2)
根据结果,您可能正在运行单个elasticsearch节点,并使用默认值创建索引(创建5个分片和一个副本)。由于只有一个节点正在运行,弹性搜索无法在任何地方分配副本分片(elasticsearch永远不会在单个节点中分配同一分片的主副本和副本)。
_cluster / stats API提供有关群集的信息,包括当前状态。从您的结果可以看出,群集状态是"黄色"表示已分配所有主分片但未分配/初始化所有副本。所以它只显示分配的分片为5。
_stats API提供有关集群中索引的信息。它将提供有关索引将具有多少分片以及有多少副本的信息。由于您的索引总共需要10个分片(创建索引时指定5个主分片和5个副本),因此统计信息包含总计10,成功5和失败5的信息(因为无法在任何节点中分配而失败)。
使用http://localhost:9200/_cat/shards查看整体分片状态