centos - elasticsearch which: no java in (/sbin:/bin:/usr/sbin:/usr/bin)
问题描述
机器:centos7.2
javahome:export JAVA_HOME=/root/jdk1.8.0_60export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
[root@i-j73a8nn6 ~]# java -versionjava 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/elasticsearchException 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/elasticsearchwhich: 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
问题解答
回答1:首先不能用root用户登陆,sudo默认就是root用户,sudo时需要指定其他用户名。例如:sudo -iu user_a bin/elasticsearch
回答2:新增了一个用户,让后在以新增用户启动完成。不知道各路大神有没有在root下启动的方法?
回答3:vi /etc/sysconfig/elasticsearch将 JAVA_HOME=/root/jdk1.8.0_60 写到文件中保存后启动service elasticsearch start正在启动 elasticsearch: [确定]
回答4:3楼正解,我以root用户启动了
回答5:@geekfranca 我的Logstash是2.2.2版本,系统环境是ubuntu kylin 16,然后从[官网]下载的logstash_2.2.2-1_all.deb文件进行安装的,使用的是普通用户,执行sudo service logstash configtest时,提示如下:
Could not find any executable java binary. Please install java in your PATH or set JAVA_HOME.
安装@geekfranca 说的方法,修改了/etc/init.d/logstash 文件,执行成功了,道理应该都是一样的
相关文章: