elasticsearch集群部署在k8s集群上,遇到了这样一个问题,索引的某个主分片和其副本分片都分配到一个node上。万一出现node挂掉的情况,将出现数据无法恢复,数据缺失的情况。这里可以使用shard allocation awareness来解决这个问题。
# 集群增加如下配置 node.attr.node_name: 'node1' cluster.routing.allocation.awareness.attributes: node_name
'node1’以实际值为准,当然这里不一定是node_name,node_ip也可以,只要能够唯一标识node的属性都可以。
给集群增加这个配置后,我们可以看到原来都分配在同一个node上主副本分片进行了重新分配,分配到了不同的node。



