elasticsearch不会创build副本碎片

这两天,我正在b </s>我的头。 我已经build立了两个节点的elasticsearch集群。 每个节点的configuration非常简单:

node.name: "server1" discovery.zen.ping.multicast.enabled: false discovery.zen.ping.unicast.hosts: 192.168.1.212,192.168.1.213 index.store.compress.stored: True index.store.compress.tv: True index.number_of_shards: 5 compress.default.type: lzf cluster.name: mycluster discovery.zen.minimum_master_nodes: 1 discovery.zen.ping.timeout: 60 index.number_of_replicas: 1 

群集节点“看到”彼此和预期的碎片生成,但不是复制品。 当我使用“头”插件(弹性search的networking用户界面)时,我看不到只有主分片不复制。 这也从elasticsearch的地位得到证实:

  curl -XGET 'http://localhost:9200/_cluster/health?pretty=true' { "cluster_name" : "server1", "status" : "green", "timed_out" : false, "number_of_nodes" : 2, "number_of_data_nodes" : 2, "active_primary_shards" : 10, "active_shards" : 10, "relocating_shards" : 0, "initializing_shards" : 0, "unassigned_shards" : 0 } 

另外我注意到在elasticsearch的运行settigns是复制品被设置为0:

 curl -XGET 'http://localhost:9200/_settings?pretty=true' { "date" : { "settings" : { "index" : { "refresh_interval" : "1s", "number_of_shards" : "5", "creation_date" : "1447756143035", "store" : { "type" : "fs" }, "uuid" : "mpVS_BB9R0WvoF0h8pFVfQ", "version" : { "created" : "1040299" }, "number_of_replicas" : "0" } } }, "scores" : { "settings" : { "index" : { "refresh_interval" : "1s", "number_of_shards" : "5", "creation_date" : "1447756144186", "store" : { "type" : "fs" }, "uuid" : "KUlfG4UhQfmMP1L3xQiJOQ", "version" : { "created" : "1040299" }, "number_of_replicas" : "0" } } } } 

任何想法为什么没有副本创build?

基于最后一个命令的输出,你的两个索引没有复制品,因为你没有告诉他们。

您需要更新您的索引设置,将"number_of_replicas"更改为任意数量的副本。

ES文档的更新索引设置页面就是这个例子。

这会将所有索引更改为1个副本:

 curl -XPUT 'localhost:9200/_settings' -d ' { "index" : { "number_of_replicas" : 1 } }' 

这只会将scores索引更改为4个副本:

 curl -XPUT 'localhost:9200/scores/_settings' -d ' { "index" : { "number_of_replicas" : 4 } }'