Reputation: 4352
I installed elasticsearch
by brew install elasticsearch
and started it with brew services start elasticsearch
, however, curl http://127.0.0.1:9200
shows connection refused
. I checked the port: netstat -a -n | grep tcp | grep 9200
and some ipv4
is running there. Ok, so I opened /usr/local/etc/elasticsearch/elasticsearch.yml
and changed the port to 9300
and also uncommented and changed: network.host: 127.0.0.1
. Still shows connection refused
when I do curl http://127.0.0.1:9300
. The OS
is MacOS High Sierra 10.13.4
. If we open /usr/local/var/log/elasticsearch/elasticsearch_nikitavlasenko.log
the error seems to be:
Cluster name [elasticsearch_nikitavlasenko] subdirectory exists in data paths [/usr/local/var/lib/elasticsearch/elasticsearch_nikitavlasenko]. All data under these paths must be moved up one directory to paths [/usr/local/var/lib/elasticsearch]
Upvotes: 13
Views: 8878
Reputation: 383
This was the result of a bug in the Homebrew formula for Elasticsearch. It was creating a directory with the node name which is no longer allowed for Elasticsearch.
The formula has been updated to remove node name from path.data and no longer create the invalid directory which should resolve this problem.
Upvotes: 3
Reputation: 32386
Ran into this issue some time back, Please add a minimal Elastic config file. for me it looks like below
http.port: 9200
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
path.data: /usr/local/var/elasticsearch/
path.logs: /usr/local/var/log/elasticsearch/
# Set both 'bind_host' and 'publish_host':
network.host: 127.0.0.1
# 1. Disable multicast discovery (enabled by default):
discovery.zen.ping.multicast.enabled: false
script.engine.groovy.inline.aggs: on
I think I wasn't having below config which caused the issue:
network.host: 127.0.0.1
Please check if its there in your config? Also properly set your data and logs folder path.
Let me know if you face any issue and have questions on these configs.
Upvotes: 1
Reputation: 10859
Did you have an older version (2.x or before) installed before? It sounds a lot like this PR to check that you're not using the old behavior when there was the node name in the path.
What I would do:
/usr/local/var/lib/elasticsearch/elasticsearch_nikitavlasenko
and start fresh.path.data
in your config or move the folder one level up (just like the log message says).PS: I wouldn't use port 9300 for HTTP, because that's generally the port used for communication of the nodes in a cluster itself.
Upvotes: 19