How do I find where ElasticSearch is installing my plugins?

DirectoryElasticsearch

Directory Problem Overview


I have installed elasticsearch with brew install elasticsearch. My plugins seem to reside in /usr/local/Cellar/elasticsearch/0.19.8/plugins. With cat $( which plugin ) I see a ES_HOME variable that contains the correct path.

Is there a way to ask elastic for ES_HOME or the plugins directory?


EDIT

What I am looking for is the directory used by the plugin executable to install the plugins when I do plugin -install something. I want to use that path in a script to fire up elastic search.

Directory Solutions


Solution 1 - Directory

To find your elasticsearch home directory & install plugin(s) follow these steps below.

Locate your home directory ( Look for Settings -> Path -> Home for value )

$ curl "localhost:9200/_nodes/settings?pretty=true"

Goto Location (Example settings.path.home value: /usr/local/Cellar/elasticsearch/1.5.0)

$ cd /usr/local/Cellar/elasticsearch/1.5.0

Install Plugin (Example plugin: mobz/elasticsearch-head)

$ bin/plugin -install mobz/elasticsearch-head

Solution 2 - Directory

I used this command:

$ curl "localhost:9200/_nodes?pretty=true&settings=true"

Check next setting: nodes - settings - path - plugins and use it as your plugins directory.

Solution 3 - Directory

I had the same problem as you and I was able to locate the ES_HOME directory by following @imotiv's suggestion.

Simply call PATH_TO_SERVER:9200/_cluster/nodes?settings=true&pretty=true

Therein you'll see the path.home entry. That is your ES working directory.

Once you locate your ElasticSearch home folder, in my case /usr/share/elasticsearch, cd down to that location.

Once there, you could simply run bin/plugin -install elasticsearch/elasticsearch-analysis-phonetic/1.3.0 and it will automatically do the rest for you.

Hope this helps.

Solution 4 - Directory

Not totally sure what you are trying to achieve, but hopefully this will help. There are a couple of way to find the plugins directory for elasticsearch. You can set plugins: TRACE in the logging.yml file, it will cause elasticsearch to log the full path of plugins that it's loading. You can also execute

$ curl "localhost:9200/_cluster/nodes?settings=true&pretty=true"

to check the current settings. Elasticsearch is using location specified in the path.plugins settings to load plugins. If path.plugins is not set, it will use plugins directory in the directory specified by the path.home setting.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionKostasView Question on Stackoverflow
Solution 1 - DirectoryTyler RaffertyView Answer on Stackoverflow
Solution 2 - Directoryjuaniiton1View Answer on Stackoverflow
Solution 3 - Directoryswatkat7View Answer on Stackoverflow
Solution 4 - DirectoryimotovView Answer on Stackoverflow