配置ElasticSearch的端口号

21 elasticsearch

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

bin/elasticsearch [-f]

bin/elasticsearch脚本自行设置ES_HOME,似乎没有办法影响读取的配置文件的路径.ES总是从中读取设置

$ ES_HOME /配置/ elasticsearch.yml

但是我必须能够对指定路径到我们自己的配置文件,而无需 重写现有的elasticsearch.yml附带ElasticSearch.

我怎么做?

小智 25

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

http.port: port_number
Run Code Online (Sandbox Code Playgroud)

我在我的设置中做了同样的事情,它为我工作.


Yur*_*rik 9

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

bin/elasticsearch -E http.port=9400 -E transport.tcp.port=9500
Run Code Online (Sandbox Code Playgroud)

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


dre*_*ewr 5

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

bin/elasticsearch -f -Des.path.conf=/path/to/config/dir
Run Code Online (Sandbox Code Playgroud)

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

另请注意,您可以像-Des.path.conf上面所做的那样指定您想要的任何选项.

  • 这里的-Des.http.port = XXX`技巧对于在本地测试具有相同设置但不同端口的集群非常有用。 (2认同)

小智 5

只需更改http.portin elasticsearch.yml(通常是 in /etc/elasticsearch/elasticsearch.yml)并从前面删除 # 并重新启动服务器。


Sun*_*nny 1

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

$ elasticsearch -f -Des.config=<NewConfig>
Run Code Online (Sandbox Code Playgroud)