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
Ouvrez le fichier script:
vi bin / elasticsearch
Ajouter une propriété pour permettre root:
ES_JAVA_OPTS = “- Des.insecure.allow.root = true”
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.