web-dev-qa-db-fra.com

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 le root.

Lorsque j'essaie d'exécuter Elasticsearch. Je reçois le message d'erreur suivant:

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 mentionné une suggestion disponible sur Internet, ils ont suggéré de 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.

23
Mangoski

D'après 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
46
keety
  1. Ouvrir le fichier script:

    vi bin/elasticsearch

  2. Ajouter une propriété pour autoriser la racine:

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

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

Bonne chance.

10
Viet Tran

Vous pouvez également créer un alias 

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

Ajouter la ligne ci-dessus dans bashrc file, Après cela elasticsearch command fonctionnera.

3
Ravi Prajapati

Vous devez changer le propriétaire et le groupe de elasticsearch-X.X.X et l'exécuter sous cet utilisateur. Cela fonctionne dans elasticsearch-5.3.0

1
Hunter

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

Solution 1: Télécharger le fichier Zip n décompresser puis commencer par la commande suivante

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

Solution 2:

vi bin/elasticsearch

Ajoutez une propriété pour autoriser root à exécuter deux instances:

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

Enregistrer et fermer . Vous pouvez commencer par root maintenant.

0
truekiller