机器: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
まず、sudo のデフォルトは root ユーザーとしてログインすることはできません。sudo を実行する場合は、別のユーザー名を指定する必要があります。例: sudo -iu user_a bin/elasticsearch
新しいユーザーが追加されました。後で新しいユーザーで開始してください。
root で起動する方法を知っている専門家はいるでしょうか?
vi /etc/sysconfig/elasticsearch
JAVA_HOME=/root/jdk1.8.0_60 をファイルに書き込み、保存して起動
service elasticsearch start
elasticsearch の起動: [OK]
3階の正解、rootユーザーで起動しました
@geekfranca
リーリー私の Logstash はバージョン 2.2.2、システム環境は ubuntu kylin 16 で、[公式 Web サイト] からダウンロードした logstash_2.2.2-1_all.deb ファイルからインストールし、一般ユーザーを使用して sudo を実行しました。 service logstash configtest の場合、プロンプトは次のとおりです:
@geekfranca が言及したメソッドをインストールし、/etc/init.d/logstash ファイルを変更すると、実行は成功します。原理は同じはずです。