Elasticsearch & Kibana 主节点故障转移

Elasticsearch & Kibana master node failover

我正在尝试构建一个高度可用的 ELK 堆栈。
我遇到了主节点故障转移概念的问题。

让我们承认我有一个像这样的简单架构:

MasterNode1 (A.A.A.A:9200) Elected as master        
MasterNode2 (B.B.B.B:9200) 
    DataNode1
    DataNode2

现在如果 MasterNode1 挂了,Kibana 怎么知道它必须联系 MasterNode2 而不是 MasterNode1(无需在 kibana 配置中手动更改)?

我想我在这个架构中遗漏了什么,对吧?

谢谢。

有几个选项

  1. 查看 heartbeat 或 corosync 等软件,并将虚拟 IP 与其中一个节点相关联。如果该节点出现故障,heartbeat/corosync 可以将虚拟 IP 切换到另一个活动节点。
  2. 看看某种负载平衡技术,可以是硬件,也可以是 ha-proxy 之类的东西,它足够智能,可以监控底层的 elasticsearch 节点并防止访问任何不可用的节点。这样做的好处是,如果您有多个节点,它们可以分担一些工作负载。