gpt4 book ai didi

elasticsearch - 在三台服务器上设置ELK堆栈的最佳方式

转载 作者:行者123 更新时间:2023-11-29 02:51:08 25 4
gpt4 key购买 nike

我希望设置一个 ELK 堆栈并使用三台服务器来执行此操作。虽然我找到了大量关于如何实际安装和配置 elasticsearch、logstash 和 kibana 的文档和教程,但我发现关于如何在我的服务器上设置软件以最大限度地提高性能的信息却很少。例如,在所有三个实例上设置 elasticsearch、logstash 和 kibana 会更好,还是在两个实例上安装 elasticsearch 并在第三个实例上安装 logstash 和 kibana?

与那个问题相关,如果我的集群中有多个 elasticsearch 服务器,我是否需要一个负载均衡器来将请求分散到它们,或者我可以将数据发送到一个服务器,它会相应地分配它吗?

最佳答案

您机器的尺寸也很重要。三台 8GB RAM 的机器与三台 64GB 或更多内存的机器有很大不同......

Kibana 占用的资源非常少。 Logstash 更占用 CPU。 Elasticsearch 占用更多 RAM。

对于 elasticsearch 集群,您通常需要每个分片的副本以实现冗余。这通常使用两台服务器来完成。如果您有第三个 elasticsearch 服务器,那么您将获得 IO 提升(将数据的两个副本写入三个服务器可降低负载)。此外,偶数数量的服务器可能会混淆哪个是主服务器,因此三个服务器将有助于防止“裂脑”问题。

那两个或三个节点将是“数据”节点,因此如果您向它们发出查询或索引请求,它们可能需要将请求移至另一台服务器(包含数据的服务器等)。请求也有一个“减少”阶段,来自每个节点的数据在返回之前被合并。拥有一个较小的“客户端”节点——查询和索引请求所在的地方——有助于实现这一点。当然,您会想要两个,以使它们变得多余。

Logstash 最好以多线程方式运行,因此拥有多个 CPU 供您使用是件好事。拥有冗余/负载平衡的 logstash 机器也很好。 Kibana 也可以在这些机器上运行。

所以,我们很快就拥有了 7 台机器。不是您想听到的,对吧?

如果您严格限制在 3 台机器上,您会希望如上所述在所有三台机器上运行 elasticsearch。其余的你需要鞋拔。

两个 Logstash,一个 kibana?那么您将遇到 kibana 的单点故障。

如何在所有三个上使用 logstash,在所有三个上使用 kibana?负载将分布在周围,因此希望每台服务器都有一个小的增量。而且,如果机器足够强大,应该没问题。

我在一个运行 logstash 的集群中有机器,

一般建议将 1/2 的系统 RAM(最多 ~31GB)分配给 elasticsearch,将其余部分留给操作系统。如果你打算在同一台机器上运行 logstash 和 kibana,你会想要降低它(可能是 40%?),给 logstash 一些(15%?),剩下的留给操作系统。

显然,机器的尺寸在这里很重要。

关于elasticsearch - 在三台服务器上设置ELK堆栈的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33675945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com