【问题标题】:How to bind Elasticsearch 2.0 on both Loopback and Non-Loopback interfaces?如何在 Loopback 和 Non-Loopback 接口上绑定 Elasticsearch 2.0?
【发布时间】:2019-05-21 20:18:57
【问题描述】:

从 2.0 版本开始,Elasticsearch 默认只绑定在环回接口上(_local_ 在配置方面)。

documentation 表示有办法切换到另一个网络,例如 _non_loopback_ 绑定到第一个非环回接口。它工作正常。

但我不知道如何组合这些设置,以便 Elasticsearch 同时绑定 环回和非环回接口?

PS。我的原因是我在通过 localhost 连接到它的每个 Elasticsearch 实例上使用 Logstash,但我也希望其他 Elasticsearch 实例能够看到彼此以形成集群......

【问题讨论】:

  • 这可能使用transport profiles 可行,但我还没有尝试过。
  • @Val,谢谢你的建议,但根据参考传输配置文件仅用于节点到节点的通信......当然,我仍然可以使用非本地主机 IP 地址进行 Logstash配置,但它会使配置维护比以前在 1.x 中更糟糕。
  • @Funbit 你如何将 LS 连接到 ES?
  • @AndreiStefan 使用这个:hosts => ["127.0.0.1:9200"] 。正如我所说,我可以在此处包含以太网 IP,但我必须为每个实例单独执行此操作。因为 Logstash 在其配置中不支持环境/动态变量。
  • @Funbit 你在 LS 中使用什么协议?假设http(从端口9200开始)

标签: elasticsearch elasticsearch-2.0


【解决方案1】:

对于 2.0,您需要使用

network.bind_host: 0

【讨论】:

【解决方案2】:

从 ElasticSearch 7.x 开始,此配置再次更改。对于绑定到环回、本地和外部 IP 的简单单节点集群,您基本上可以这样做:

network.host: [_local_, _site_, _global_]
cluster.initial_master_nodes: node-1

集群节点设置在here 中进行了解释,而网络主机设置在文档here 中进行了说明,尽管它没有说明如何将多个值分配给network.host

【讨论】:

    【解决方案3】:

    前往

    '<path_to_elasticsearch>/elasticsearch-2.3.4/config'
    

    打开elasticsearch.yml

    添加 network.host: 0.0.0.0

    现在检查 elasticsearch 正在使用哪个端口(@98​​7654324@ 是默认值),转到防火墙入站规则并添加这些端口。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-06
      • 2018-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多