2015-03-31 83 views
0

我试图构建一个高度可用的ELK堆栈。
我正面临主节点故障转移概念的问题。Elasticsearch&Kibana主节点故障转移

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

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

现在,如果MasterNode1下降,怎么能Kibana知道它有联系MasterNode2代替MasterNode1(而不是在kibana配置中手动更改它)?

我觉得我错过了这个建筑中的东西吧?

谢谢。

回答

1

有几个选项

  1. 看软件,如心跳或corosync和虚拟IP与节点之一关联。如果该节点关闭,则heartbeat/corosync可以将虚拟IP切换到另一个活动节点。
  2. 看看某种负载平衡技术,无论是硬件还是像ha-proxy这样的智能设备,它足够智能地监控底层elasticsearch节点并阻止访问任何不可用的负载。这可以具有如下优点:如果您有多个节点,则可以共享一些工作负载。
+1

感谢您的建议。我在这里遇到了另一个解决方案https://github.com/elastic/kibana/issues/2260。它建议在运行kibana的同一个主机上设置一个客户机节点'(master:false,data:false)',并配置kibana来使用这个客户机节点。但对我来说,它似乎是一个SPOF解决方案。我认为你的解决方案更安全。谢谢。 – Mat777 2015-04-01 07:08:42