机器:centos7.2
javahome:
export JAVA_HOME=/root/jdk1.8.0_60
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
[root@i-j73a8nn6 ~]# java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
[root@i-j73a8nn6 ~]# $PATH
-bash: /root/jdk1.8.0_60/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin: No such file or directory
如果不是sudo启动时报错:
[root@i-j73a8nn6 ~]# elasticsearch-2.2.1/bin/elasticsearch
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.
sudo启动报错:
[root@i-j73a8nn6 ~]# sudo elasticsearch-2.2.1/bin/elasticsearch
which: no java in (/sbin:/bin:/usr/sbin:/usr/bin)
Could not find any executable java binary. Please install java in your PATH or set JAVA_HOME
Tout d'abord, vous ne pouvez pas vous connecter en tant qu'utilisateur root. Par défaut, sudo est l'utilisateur root. Vous devez spécifier un autre nom d'utilisateur lors de la sudo. Par exemple : sudo -iu user_a bin/elasticsearch
Un nouvel utilisateur a été ajouté, veuillez le démarrer plus tard avec le nouvel utilisateur.
Je me demande si l'un des experts a un moyen de le démarrer sous root ?
vi /etc/sysconfig/elasticsearch
Écrivez JAVA_HOME=/root/jdk1.8.0_60 dans le fichier, enregistrez-le et démarrez-le
service elasticsearch start
Démarrage d'elasticsearch : [OK]
Bonne réponse au 3ème étage, je l'ai démarré en tant qu'utilisateur root
@geekfranca
Mon Logstash est la version 2.2.2, l'environnement système est Ubuntu Kylin 16, puis j'ai installé le fichier logstash_2.2.2-1_all.deb téléchargé depuis [site officiel], en utilisant un utilisateur ordinaire, exécutez Lorsque sudo service logstash configtest, l'invite est la suivante :
Installez la méthode mentionnée par @geekfranca, modifiez le fichier /etc/init.d/logstash, et l'exécution est réussie. Le principe devrait être le même
.