Mangoski
Mangoski

Reputation: 2119

How to run Elasticsearch 2.1.1 as root user in Linux machine

I am trying to run Elasticsearch 2.1.1 in my Linux machine which I am the root user of it.

When I tried to execute the Elasticsearch.I am getting the following error:

Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root.
        at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:93)
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:144)
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:285)
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
Refer to the log for complete error details.

I referred some suggestion available in internet, they mentioned to run it as different user. My scenario is to run as root user only. How to overcome this problem without running as different user.

Upvotes: 25

Views: 38649

Answers (6)

mahi
mahi

Reputation: 1

we need to create a new user in Linux server say user = es and grant sudo chown -R es elasticsearch-6.1.0/ then you can switch 'es' user account and run ./elasticsearch-6.1.0/bin/elasticsearch

Upvotes: 0

Sameersharma9
Sameersharma9

Reputation: 500

There are two workarounds to resolve this issue :

Solution 1: download zip file n unzip then start by following command

bin/elasticsearch -Des.insecure.allow.root=true -d

Solution 2:

vi bin/elasticsearch

Add property to allow root to run two instance:

ES_JAVA_OPTS="-Des.insecure.allow.root=true"

Save and close. You can start by root now.

Upvotes: 1

Hunter
Hunter

Reputation: 21

You should change the owner and group of the elasticsearch-X.X.X and run as that user. It works in elasticsearch-5.3.0

Upvotes: 1

Viet Tran
Viet Tran

Reputation: 1223

  1. Open script file:

    vi bin/elasticsearch

  2. Add property for allow root:

    ES_JAVA_OPTS="-Des.insecure.allow.root=true"

  3. Save and close.
  4. You can start by root now.

Good luck.

Upvotes: 10

Ravi Prajapati
Ravi Prajapati

Reputation: 3156

You can also create alias

alias elasticsearch='elasticsearch -Des.insecure.allow.root=true'

Add above line in bashrc file, After that elasticsearch command will work.

Upvotes: 4

keety
keety

Reputation: 17441

Based of the following code-snippet looks like you should be able to achieve this by enabling property es.insecure.allow.root

Example :

bin/elasticsearch -Des.insecure.allow.root=true

Upvotes: 48

Related Questions