【问题标题】:Elasticsearch best practices : it is a good idea to implement Ha Proxy in front of Elasticsearch 7?Elasticsearch 最佳实践:在 Elasticsearch 7 前面实现 Ha Proxy 是个好主意吗?
【发布时间】:2021-11-18 01:43:50
【问题描述】:

在 Elasticsearch Spark/Hadoop 文档中,我可以阅读以下选项:

es.nodes.wan.only (default : false)

连接器是否用于通过 WAN 处理云/受限环境中的 Elasticsearch 实例,例如 Amazon Web Services。在这种模式下,连接器禁用发现,并且仅在所有操作(包括读取和写入)期间通过声明的 es.nodes 进行连接。请注意,在此模式下,性能会受到很大影响

我的云提供商在 Elasticsearch 之上放置了一个 Ha 代理。所以,我必须将之前的选项设置为true

所以基本上,我对这种架构的理解是,我只有一个 URL 端点来连接到 ES,并且由于 Ha Proxy 具有一些高可用性(和负载平衡),但另一方面,它伤害了性能很多吗?

您能否根据您的经验澄清一下,Elasticsearch 之上的 Ha Proxy 是否是一个好习惯(或不是)

谢谢

【问题讨论】:

    标签: elasticsearch elasticsearch-hadoop


    【解决方案1】:

    所以基本上,我对这种架构的理解是,我只有一个 URL 端点可以连接到 ES,并且由于 Ha Proxy 具有一些高可用性(和负载平衡)

    是的,很多项目(我参与过)都会将 HAProxy 放在 Elasticsearch 前面,然后只将请求发送到单个节点进行负载平衡。

    但另一方面,它对性能的影响很大?

    不,相反。
    就像拥有 ELK 堆栈一样,logstash 的监控管道会抛出错误,因为它无法恢复负载均衡器后面的已终止连接。如果您将选项设置为true,则修复方法是禁用发现sniffing => false,就像您的云提供商一样。

    您能否根据您的经验澄清一下,Elasticsearch 之上的 Ha Proxy 是否是一种好习惯?

    是的,在 ES 前面有一个负载均衡器绝对是个好主意。

    【讨论】:

    • 嗨。我不使用 Logstash 或 ELK 堆栈,但使用 Apache Spark Elasticsearch Hadoop 连接器。您能否更新您的答案,尤其是在使用 HaProxy 时必须将es.nodes.wan.only 更改为true(以及说明performance are highly affected 的文档)?谢谢
    猜你喜欢
    • 2021-11-17
    • 2019-10-22
    • 1970-01-01
    • 1970-01-01
    • 2020-01-15
    • 2017-11-16
    • 2012-05-29
    • 2016-01-29
    • 2017-07-12
    相关资源
    最近更新 更多