Comment exécuter Elasticsearch 2.1.1 en tant qu’utilisateur root sur une machine Linux

J’essaie d’exécuter Elasticsearch 2.1.1 sur ma machine Linux dont je suis l’utilisateur root.

Lorsque j’ai essayé d’exécuter Elasticsearch. Je reçois l’erreur suivante:

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. 

J’ai référé une suggestion disponible sur Internet, ils ont mentionné pour l’exécuter en tant qu’utilisateur différent. Mon scénario est d’exécuter en tant qu’utilisateur root uniquement. Comment surmonter ce problème sans exécuter en tant qu’utilisateur différent.

Selon l’ extrait de code suivant, vous devriez pouvoir y parvenir en activant la propriété es.insecure.allow.root

Exemple :

 bin/elasticsearch -Des.insecure.allow.root=true 
  1. Ouvrez le fichier script:

    vi bin / elasticsearch

  2. Ajouter une propriété pour permettre root:

    ES_JAVA_OPTS = “- Des.insecure.allow.root = true”

  3. Sauver et fermer.
  4. Vous pouvez commencer par root maintenant.

Bonne chance.

Vous pouvez également créer un alias

alias elasticsearch = ‘elasticsearch -Des.insecure.allow.root = true’

Ajoutez la ligne ci-dessus dans le fichier bashrc , après cela la commande elasticsearch fonctionnera.

Vous devez changer le propriétaire et le groupe d’elasticsearch-XXX et l’exécuter en tant qu’utilisateur. Cela fonctionne dans elasticsearch-5.3.0

Il existe deux solutions pour résoudre ce problème:

Solution 1: téléchargez le fichier zip n dézippez puis démarrez en suivant la commande

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

Solution 2:

 vi bin/elasticsearch 

Ajouter une propriété pour permettre à root d’exécuter deux instances:

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

Sauver et fermer. Vous pouvez commencer par root maintenant.