首先,我想提一下,我不是Elasticsearch专家。
我有一个3节点的elasticsearch集群。资源的利用与成本不成比例。所以我决定减少2个节点。
现在我在想什么是在没有停机的情况下从3中杀死2个节点的优雅方法?会有什么后果?
我无法强制关闭整个群集。运行Elasticsearch版本:5.6.8
任何帮助或建议都将非常感激。
答案 0 :(得分:0)
要获得高可用性,您需要至少3个节点进行主选举。请务必正确设置discovery.zen.minimum_master_nodes
:
2
(=多数)用于3个节点 - 只有这个高度可用2
用于2个节点(也是大多数节点),但是您正在丢失HA,因为只要一个节点关闭,您将无法再选择主节点1
1节点如果要删除数据节点,请确保将数据复制到至少一个其他节点。如果要杀死3个节点中的2个,请将复制因子number_of_replicas
设置为2
(= 3个副本,因此在您的案例中为所有节点)。或稍微优雅一点,设置"index.routing.allocation.require._name": "A"
以确保必须在名为A的节点上分配数据。确保cat shards API幸存节点具有所有必需数据。