2016-04-25 162 views
1

我有一個Elasticsearch羣集中的3個節點。每個節點都可以成爲主節點和數據節點。我Elasticsearch設置爲:ElasticSearch羣集複製

index.number_of_shards: 8 
index.number_of_replicas: 2 
gateway.recover_after_nodes: 2 
gateway.recover_after_time: 5m 
gateway.expected_nodes: 3 
discovery.zen.minimum_master_nodes: 2 
discovery.zen.ping.multicast.enabled: false 
discovery.zen.ping.unicast.hosts: ["host1", "host2:9200","host3:9200"] 

My Cluster is up now and cluster health is green. But Shard allocation is like 

Node1 - 0,1,2,3,4,6 where 6 is primary and other are replicas 

Node2 - 5,6,7 all replicas 

Node3 - 0,1,2,3,4,5,7 all primary 

這種結構顯示僅1中的節點每個碎片分裂的副本複印件。但我在設置中提到了2個副本,那麼它應該顯示每個分片的2個副本。

我是否理解錯誤或設置中缺少某些內容。

+0

你能用'curl host1:9200/_cat/shards'獲得的輸出更新你的問題嗎? – Val

+0

它表示沒有爲uri [/ _cat/shards]和方法[GET]找到處理程序。請讓我知道你需要什麼信息 – coder

+0

你有哪個版本的ES? – Val

回答

1

index.number_of_replicaselasticsearch.yml是用於新索引。你已經有人需要手動調整:PUT /_all/_settings { "index": { "number_of_replicas": 2 } }

另外,請考慮升級。 ES現在在版本2.3.1,0.90是非常古老的。