我们正在使用 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.portin elasticsearch.yml(通常 in /etc/elasticsearch/elasticsearch.yml)并从前面删除 # 并重新启动服务器。
在启动 elasticsearch 时,您始终可以在外部进行设置:
$ elasticsearch -f -Des.config=<NewConfig>