【问题标题】:Configure port number of ElasticSearch配置 ElasticSearch 的端口号
【发布时间】:2017-10-07 06:07:09
【问题描述】:

我们正在使用 ElasticSearch 0.20.2 并使用运行守护程序

bin/elasticsearch [-f]

bin/elasticsearch脚本自己设置ES_HOME,好像没办法 影响读取配置文件的路径。 ES 总是从

读取设置

$ES_HOME/config/elasticsearch.yml

但是我必须能够指定我们自己的配置文件的路径没有 覆盖 ElasticSearch 附带的现有 elasticsearch.yml

我该怎么做?

【问题讨论】:

标签: elasticsearch


【解决方案1】:

您必须在 elasticsearch.yml 文件中插入以下行。

http.port: port_number

我在我的设置中做了同样的事情,它对我有用。

【讨论】:

    【解决方案2】:

    对于多版本测试,您应该指定两个不同的端口:

    bin/elasticsearch -E http.port=9400 -E transport.tcp.port=9500
    

    这样,如果您在同一台机器上安装了另一个版本的 elasticsearch,它们将不会相互通信。如果您确实希望它们进行通信,请将传输端口保留为默认值,或者在两个实例上使其相同。

    【讨论】:

      【解决方案3】:

      只需将http.port 更改为elasticsearch.yml(通常在/etc/elasticsearch/elasticsearch.yml)并从前面删除# 并重新启动您的服务器。

      【讨论】:

        【解决方案4】:

        您需要修改path.conf。它看起来像:

        bin/elasticsearch -f -Des.path.conf=/path/to/config/dir
        

        然后将读取/path/to/config/dir/elasticsearch.yml/path/to/config/dir/elasticsearch.json(如果存在)。

        另外请记住,您可以通过-Des. 指定您想要的任何选项,就像我在上面使用path.conf 所做的那样。

        【讨论】:

        • 这里的-Des.http.port=XXX 技巧对于在本地测试具有相同设置但不同端口的集群非常有用。
        • 另请注意,此开关语法将在 5.0+ 中更改为 -E http.port=XXX
        【解决方案5】:

        您可以在启动 elasticsearch 时始终在外部进行设置:

        $ elasticsearch -f -Des.config=<NewConfig>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-05-23
          • 2014-12-30
          • 1970-01-01
          • 1970-01-01
          • 2022-11-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多