簡體   English   中英

Elasticsearch:統計信息和集群API中的分片數量不一致

[英]Elasticsearch: Inconsistent number of shards in stats & cluster APIs

我將數據上傳到我的單節點群集,並將索引命名為“ 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上執行GET ?pretty = true

"_shards" : {
    "total" : 10,
    "successful" : 5,
    "failed" : 0
  }

兩次報告中的分片總數為何不一致? 為什么統計API中的總分片為10。 如何追蹤其他5個?

從結果來看,您可能正在運行一個Elasticsearch節點,並創建了一個具有默認值的索引(該索引創建了5個碎片和一個副本)。 由於只有一個運行節點,elasticsearch無法在任何地方分配副本分片(elasticsearch永遠不會在單個節點中分配同一分片的主副本和副本)。

_cluster / stats API提供有關群集的信息,包括當前狀態。 從您的結果中可以看出,群集狀態為“黃色”,表示已分配了所有主要分片,但並非所有副本都已分配/初始化。 因此,它僅顯示分配的碎片為5。

_stats API提供有關集群中索引的信息。 它將提供有關索引將擁有多少個分片以及多少個副本的信息。 由於您的索引總共需要10個分片(創建索引時指定了5個主副本和5個副本),因此統計信息包含總計10個,成功5個和失敗5個信息(失敗,因為無法在任何節點中分配)。

使用http:// localhost:9200 / _cat / shards查看整體分狀態

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM