Nous utilisons ElasticSearch 0.20.2 et exécutons le démon en utilisant
bin/elasticsearch [-f]
Le script bin/elasticsearch définit ES_HOME seul et il semble qu'il n'y ait aucun moyen d'influencer le chemin du fichier de configuration lu. ES lit toujours les paramètres de
$ ES_HOME/config/elasticsearch.yml
Cependant, je dois être en mesure de spécifier le chemin d'accès à notre propre fichier de configuration sans en remplaçant l'existant elasticsearch.yml fourni avec ElasticSearch.
Comment je fais ça?
Vous devez insérer la ligne suivante dans votre elasticsearch.yml
fichier.
http.port: port_number
J'ai fait la même chose dans ma configuration, cela fonctionne pour moi.
Pour les tests multi-versions, vous devez spécifier deux ports différents:
bin/elasticsearch -E http.port=9400 -E transport.tcp.port=9500
De cette façon, si vous avez une autre version d'elasticsearch sur la même machine, ils ne se parleront pas. Si vous souhaitez qu'ils communiquent, laissez le port de transport par défaut ou faites-le de même sur les deux instances.
Vous devez modifier path.conf
. Cela ressemblerait à:
bin/elasticsearch -f -Des.path.conf=/path/to/config/dir
Cela lira alors /path/to/config/dir/elasticsearch.yml
et /path/to/config/dir/elasticsearch.json
(si présent).
Gardez également à l'esprit que vous pouvez simplement spécifier n'importe quelle option que vous souhaitez via -Des.
de la même manière que je l'ai fait avec path.conf
au dessus.
Changez simplement le http.port
dans elasticsearch.yml
(généralement dans /etc/elasticsearch/elasticsearch.yml
) et supprimez # à l'avant et redémarrez votre serveur.
vous pouvez toujours le configurer en externe lors du démarrage d'elasticsearch:
$ elasticsearch -f -Des.config=<NewConfig>