Lancer la recherche élastique en tant qu'utilisateur root

Je suis en dessous de l'erreur quand j'ai essayé de lancer la recherche élastique 5.0 avec la commande ./elasticsearch et l'obtention d'erreur ci-dessous.

[2016-11-23T13:44:09,507][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:116) ~[elasticsearch-5.0.1.jar:5.0.1]
    at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:103) ~[elasticsearch-5.0.1.jar:5.0.1]
    at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54) ~[elasticsearch-5.0.1.jar:5.0.1]
    at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:96) ~[elasticsearch-5.0.1.jar:5.0.1]
    at org.elasticsearch.cli.Command.main(Command.java:62) ~[elasticsearch-5.0.1.jar:5.0.1]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80) ~[elasticsearch-5.0.1.jar:5.0.1]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:73) ~[elasticsearch-5.0.1.jar:5.0.1]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
    at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:96) ~[elasticsearch-5.0.1.jar:5.0.1]
    at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:155) ~[elasticsearch-5.0.1.jar:5.0.1]
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:286) ~[elasticsearch-5.0.1.jar:5.0.1]
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:112) ~[elasticsearch-5.0.1.jar:5.0.1]
    ... 6 more

j'ai essayé de commencer par le passage à d'autres utilisateurs et essayé sudo ./elasticsearch et j'ai obtenu le même message d'erreur. Comment lancer la recherche élastique en tant qu'utilisateur root ?

10
demandé sur Santosh Hegde 2016-11-23 16:50:59

6 réponses

vous ne pouvez pas lancer elasticsearch en tant que root. C'est interdit et super dangereux.

Lire le guide d'installation pour comprendre comment installer correctement en fonction de votre hôte.

-1
répondu dadoonet 2016-11-23 14:07:37

cause de ce problème est: ElasticSearch n'est pas autorisé à courir depuis le propriétaire de la racine. Il y a une autre possibilité pour ce problème "Java path est défini pour l'utilisateur root seulement pas pour tous les autres utilisateurs". La Solution de ce problème:

Étape 1: modifier la propriété du répertoire elasticSearch de root à un autre utilisateur par commande. $sudo chown-R current_User: Group_Name elasticsearch-5.5.0

Setp 2: cochez Java set dans classpath pour actuel de l'utilisateur[non seulement pour racine]. Si la commande : $ java-version ou la commande echo $JAVA_HOME donnant un résultat vide. Cela signifie que nous devons définir Java dans classpath [système env variable] pour l'utilisateur courant, puis suivre L'Étape 3. sinon, lancez le service elasticsearch.

Étape 3: modifier/etc / profile et ajouter deux lignes selon votre dir système export JAVA_HOME= "Java dir location"

export PATH= $ JAVA_HOME / bin:$PATH Exécuter $source /etc/profile

après cela lancez le service elasticSearch. Cela a fonctionné parfaitement pour moi.

3
répondu Rajeev Rathor 2017-12-15 11:18:17

j'ai eu le même problème et j'ai dû me connecter avec un autre utilisateur. Mais d'abord, j'ai dû lui accorder les droits pour exécuter la bin/elasticsearch.

2
répondu KatKat 2017-03-09 11:39:02

C'est une erreur courante exécuter bin/elasticsearch à partir du dossier racine.

1
répondu Mahendra S. Chouhan 2018-05-31 06:08:35

Il y a deux façons de résoudre ce problème :

Method1: télécharger le fichier zip n décompresser puis commencer par la commande suivante

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

Method2:

vi bin/elasticsearch

ajouter une propriété pour allow root:

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

Enregistrer et fermer. vous pouvez commencer par root maintenant.

1
répondu truekiller 2018-06-19 06:28:53

cela a déjà été demandé pour ES2 ( comment exécuter Elasticsearch 2.1.1 comme utilisateur root dans Linux machine)

La même solution peut fonctionner pour 5.

Comme indiqué précédemment, vous devriez probablement pas le cas..

0
répondu jpindahouse 2017-05-23 12:09:52