logstash Elasticsearch集群在单独虚拟机的配置上如何工作?

bpsygsoo  于 2022-12-09  发布在  Logstash
关注(0)|答案(1)|浏览(814)

ELK堆栈似乎压倒性地令我困惑。
我已经在虚拟机上设置了5个节点集群,其中有2个[数据、数据内容]节点和3个专用[主]节点,并计划将数据节点扩展到4个,其中有2个热节点和2个冷节点。他们都同意使用单一UID,但无论我如何尝试了解数据如何存储在弹性中,我都无法得到它。

第一个问题:数据在发送到群集时,必须发送到数据节点或主节点,它们如何相互通信并商定数据的存储位置?
第二个问题:在Logstash.yml文件中有输出行{|主机=〉[“节点IP:9200”,“等等”]|}在你写节点ip的地方,我找不到你要把日志发送到什么样的节点。是[master]还是[data]?在这两种情况下,我必须写下每个IP吗?或者弹性有某种机制把自己标识为集群?

[回答可能的问题:“为什么不设置kube群集?"。虚拟机的使用不是我的决定。]

mcdcgff0

mcdcgff01#

数据在发送到群集时必须发送到数据节点或主节点,它们如何相互通信并商定数据的存储位置?
数据被写入具有任何数据角色(data,data_content,data_warm,data_hot等)的节点,但是请求可以向集群中的任何节点发出,elastic内部知道在哪里写入数据。节点之间使用tpc端口9300(默认情况下)进行通信。
通常,您应该向数据节点发送请求,有些体系结构还使用仅具有摄取角色的节点,并向这些节点发送请求。
Elasticsearch还将平衡数据节点之间索引的碎片数量,以便所有节点都有相同数量的数据(这并不总是可能的,取决于您使用的索引和碎片数量)。
在Logstash.yml文件中有|主机=〉[“节点IP:9200”,“等等”]|在写node ip的行中,我找不到要将日志发送到哪种节点。是[master]还是[data]?在这两种情况下,我是否必须写下每个IP,或者弹性是否有某种机制将自己标识为集群?
您指的是Logstash管道的elasticsearch输出中的hosts选项吗?
如果是这样的话,这与上面的情况基本相同,集群中的每个节点都可以接受请求,集群会将这些请求定向到数据节点以写入数据,因此您可以使用logstash管道的hosts选项中的任何节点。
不向主节点发送请求,而仅向具有dataingest角色的节点发送请求,这种情况非常常见。
logstash的elasticsearch输出中的hosts选项支持多个主机,这将使logstash平衡这些主机之间的请求。

相关问题