2015-04-23 76 views
0

我將數據上傳到了我的單個節點羣集,並將該索引命名爲「gequest」。Elasticsearch:統計信息和羣集API中的分片數量不一致

當我從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

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

GET怎麼來的碎片在兩份報告不一致的總數是多少?統計API爲什麼總共有10個碎片。如何跟蹤其他5個?

回答

2

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

_cluster/stats API提供有關包括當前狀態的集羣的信息。從您的結果中可以看出,羣集狀態爲「黃色」,表示所有主碎片已分配,但並非所有副本都已分配/初始化。所以它只顯示分配的碎片爲5.

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

使用http://localhost:9200/_cat/shards觀察整體碎片狀態

+0

感謝,試圖將另一個節點之後僅僅驗證。 – Mohitt