30

我们正在使用 ElasticSearch 0.20.2 并使用

垃圾箱/弹性搜索 [-f]

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

$ES_HOME/config/elasticsearch.yml

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

我怎么做?

4

5 回答 5

32

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

http.port: port_number

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

于 2015-11-19T09:28:54.433 回答
12

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

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

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

于 2017-10-06T22:01:49.150 回答
5

你需要修改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

于 2013-03-16T02:12:41.493 回答
5

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

于 2015-12-22T15:59:08.013 回答
0

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

$ elasticsearch -f -Des.config=<NewConfig>
于 2013-03-15T08:55:41.663 回答