Permission denied when starting elasticserach cluster in rspec test cases

430 Views Asked by At

I am using elasticsearch-ruby gem in my API application running on Ruby on Rails 6. In development env everything is running fine but for testing I wanted to create test cluster using elasticsearch-extensions gem. I am getting following error when I run rspec and trying to start server. I am using Ubuntu 18.04.

Starting 2 Elasticsearch nodes../usr/share/elasticsearch/bin/elasticsearch-env: line 81: /etc/default/elasticsearch: Permission denied
/usr/share/elasticsearch/bin/elasticsearch-env: line 81: /etc/default/elasticsearch: Permission denied
2

There are 2 best solutions below

2
On

What Elasticsearch version?
How was Elasticsearch installed?
Output from ls -l /etc/default/elasticsearch?

This should fix your problem if the ownership settings are wrong:

sudo chown -R elasticsearch:elasticsearch /etc/default/elasticsearch

Per https://discuss.elastic.co/t/permission-denied-starting-elasticsearch-7-0/179336

0
On

Set the environment variable TEST_CLUSTER_COMMAND like such:

TEST_CLUSTER_COMMAND=/usr/share/elasticsearch/bin/elasticsearch

(assuming this is the path in your case)

In my case this was happening because I configured TEST_CLUSTER_COMMAND to be /usr/share/elasticsearch, missing the /bin/elasticsearch