我在3个不同的实例上安装了Elasticsearch,Logstash和kibana的ELK堆栈。
现在我想制作Elasticsearch的3节点集群。
我将一个节点作为主节点和2个数据节点。
我想知道logstash config
elasticsearch {
hosts => "http://es01:9200"
我需要在哪个地址输入主节点或数据节点。如果我有3个主节点,那么我需要写哪个地址。
同样在kibana中,我使用
elasticsearch.url: es01:9200
在群集env中我需要使用哪个url?
答案 0 :(得分:2)
通常,答案取决于您的群集数据大小和负载 尽管如此,假设主节点不是符合数据条件的节点,我将尝试回答您的问题。这意味着它只关注群集范围的操作,例如创建或删除索引,跟踪哪些节点是群集的一部分,以及决定将哪些分片分配给哪些节点。为此,建议您使主节点尽可能稳定且负载较少。 因此,在您的logstash配置中,我将把两个数据节点的地址放在如下:
elasticsearch{
hosts => ["http://es01:9200", "http://es02:9200"]
}
此确认最大限度地提高了性能和容错能力,因为您的主数据库不包含数据,如果一个节点失效,它将继续与另一个节点一起使用。
请注意,建议在Elasticsearch集群中至少配置3个符合条件的主节点,因为如果丢失(仅)主节点,则会丢失数据。 3是避免split brain
关于kibana,因为群集中的所有节点都“相互”知道。您基本上可以在群集中放置任何地址。但是,出于与上述相同的原因,建议填写一个数据节点地址。
如需进一步阅读,请参阅this文档。
希望我能帮到你!