我们正在使用 ElasticSearch 0.20.2 并使用
垃圾箱/弹性搜索 [-f]
bin/elasticsearch 脚本自行设置 ES_HOME ,似乎没有办法影响读取的配置文件的路径。ES 总是从
$ES_HOME/config/elasticsearch.yml
但是,我必须能够指定我们自己的配置文件的路径,而不会覆盖ElasticSearch附带 的现有elasticsearch.yml。
我怎么做?
我们正在使用 ElasticSearch 0.20.2 并使用
垃圾箱/弹性搜索 [-f]
bin/elasticsearch 脚本自行设置 ES_HOME ,似乎没有办法影响读取的配置文件的路径。ES 总是从
$ES_HOME/config/elasticsearch.yml
但是,我必须能够指定我们自己的配置文件的路径,而不会覆盖ElasticSearch附带 的现有elasticsearch.yml。
我怎么做?
您必须在elasticsearch.yml
文件中插入以下行。
http.port: port_number
我在我的设置中做了同样的事情,它对我有用。
对于多版本测试,您应该指定两个不同的端口:
bin/elasticsearch -E http.port=9400 -E transport.tcp.port=9500
这样,如果您在同一台机器上有另一个版本的 elasticsearch,它们将不会相互通信。如果您确实希望它们进行通信,请将传输端口保留为默认值,或在两个实例上使其相同。
你需要修改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
。
只需更改http.port
in elasticsearch.yml
(通常 in /etc/elasticsearch/elasticsearch.yml
)并从前面删除 # 并重新启动服务器。
在启动 elasticsearch 时,您始终可以在外部进行设置:
$ elasticsearch -f -Des.config=<NewConfig>