【问题标题】:How to change Elasticsearch network host如何更改 Elasticsearch 网络主机
【发布时间】:2019-03-18 14:32:56
【问题描述】:

我已经在我的虚拟机上安装了 ES,它的操作系统为 centos 7。它network.host:绑定到localhost。我可以通过端口 9200 浏览。

我的问题是我已将网络主机更改为:0.0.0.0(这样我就可以从我的主机 PC 获得公共访问权限)。
服务已启动,但端口未在侦听。

我想从我的主机 PC 访问 ES。
如何更改 network.host ?

【问题讨论】:

  • 使用 netstat -ntlp 检查打开的端口。检查 ES 日志
  • @ManishR 我试过了,但不会成功。端口没有监听这个,network.bind_host: 0 http.cors.allow-origin: "*" http.cors.enabled: true

标签: elasticsearch centos7


【解决方案1】:

如果您的应用程序在 AWS 上运行,而 Elastic Search 在不同的主机上运行

network.host: YOUR_AWS_PRIVATE_IP

这对我有用。

【讨论】:

    【解决方案2】:

    从 Elastic Search 7.3 版本开始,需要放下面一行

    cluster.initial_master_nodes: node-1
    network.host: 0.0.0.0
    

    【讨论】:

      【解决方案3】:

      如果您打算将network.host 设置为默认值(127.0.0.1) 以外的设置,请在/etc/elasticsearch/elasticsearch.yml 中更改以下详细信息

      • network.host: 0.0.0.0
      • discovery.seed_hosts:[]

      【讨论】:

      • 我从 Internet 尝试了很多不同的方法来强制 Elastic 在 0.0.0.0 上监听,但只有这个对我有帮助。非常感谢!
      • 这里也一样,没有 discover.seed_hosts 行无法正常工作。谢谢!
      【解决方案4】:

      我在 elasticsearch 7.3.0 版本中遇到了同样的问题。我通过以下方式解决了

      /etc/elasticsearch/elasticsearch.yaml 中的值如下所示

      network.host: 127.0.0.1
      http.host: 0.0.0.0
      

      【讨论】:

      • Windows 用户您可能会发现配置不更新不起作用。我在 ES_CONFIG 中发现了一个指向应用程序数据的环境变量。使用这些详细信息更新该配置文件是可行的。
      【解决方案5】:

      查看 Elasticsearch Network Settings 文档,0.0.0.0 似乎不是 network.host 的有效设置。

      改用special value _global_。所以elasticsearch.yaml 的部分可能如下所示:

      网络: 主持人:_全球_

      这应该告诉 Elasticsearch 监听所有网络接口。

      【讨论】:

      • 我已更改然后服务无法启动。再次更改为 localhost 然后工作正常。我想要做的是使用安装在另一台服务器上的 Logstash 将日志发送到 ES。 ES 在另一台服务器上毁了。
      • 按照以下说明解决问题。 IP 更改后内存锁在 ES 上不起作用。 stackoverflow.com/questions/45008355/…
      猜你喜欢
      • 2017-06-04
      • 2017-11-30
      • 1970-01-01
      • 1970-01-01
      • 2016-05-22
      • 2016-06-17
      • 2016-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多