Starting elasticsearch [linux] - failure


(Mark Davis) #1

I've installed elasticsearch v2.4 into our RHEL Linux server using the latest 2.4 RPM.
Separately, I've installed Java Oracle version "1.8.0_71".

I try to start elasticsearch

sudo -i service elasticsearch start

I'm getting the following error mesage:

Sep 26 13:04:29 devpywdcdaas101.sl.bluecloud.ibm.com systemd[1]: Starting Elasticsearch...
Sep 26 13:04:29 devpywdcdaas101.sl.bluecloud.ibm.com systemd[1]: Started Elasticsearch.
Sep 26 13:04:29 devpywdcdaas101.sl.bluecloud.ibm.com systemd[1]: elasticsearch.service: main process exited, code=exited, status=1/FAILURE
Sep 26 13:04:29 devpywdcdaas101.sl.bluecloud.ibm.com systemd[1]: Unit elasticsearch.service entered failed state.
Sep 26 13:04:29 devpywdcdaas101.sl.bluecloud.ibm.com systemd[1]: elasticsearch.service failed.

Starting elasticsearch: which: no java in (/sbin:/usr/sbin:/bin:/usr/bin)
Could not find any executable java binary. Please install java in your PATH or set JAVA_HOME [FAILED]

The Java JDK was installed in the /opt/jdk1.8.0_71

I've tried setting my JAVA_HOME, JRE_HOME and $PATH but it doesn't seem to matter.

export JAVA_HOME=/opt/jdk1.8.0_71
export JRE_HOME=/opt/jdk1.8.0_71/jre/
export PATH=$PATH:/opt/jdk1.8.0_71/bin:/opt/jdk1.8.0_71/jre/bin

I do not know what should be done to allow elasticsearch to recognize the Java JDK.
Is there a specific elasticsearch file which must be modified to allow this?


(Lee Hinman) #2

Are you exporting the JAVA_HOME variable in your shell, or where elasticsearch starts?

It's possible you may need to put it in the environment configuration file, which I believe (if you installed from RPM) lives in /etc/sysconfig/elasticsearch.


(Mark Davis) #3

Thanks for your reply...
Here's what my environment variables look like for the 'mesadmin' user in the shell..

mesadmin@devpywdcdaas101 ~]$ export | grep PATH
declare -x PATH="/opt/jdk1.8.0_71/bin:/opt/jdk1.8.0_71/jre/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/mesadmin/.local/bin:/home/mesadmin/bin"
[mesadmin@devpywdcdaas101 ~]$ export | grep JAVA_HOME
declare -x JAVA_HOME="/opt/jdk1.8.0_71"
[mesadmin@devpywdcdaas101 ~]$ export | grep JRE_HOME
declare -x JRE_HOME="/opt/jdk1.8.0_71/jre"

I attempt to run the elasticsearch service as "sudo", but I try to run w/ the-E opton to preserve the environment variables
sudo -E service elasticsearch start

Yes, I did manually download/install via RPM.
I have modified the elasticsearch configuration file you suggested.
/etc/sysconfig/elasticsearch

Here's a portion of that file's contents...

**JAVA_HOME=/opt/jdk1.8.0_71**

################################
# Elasticsearch
################################
# Elasticsearch home directory
#ES_HOME=/usr/share/elasticsearch

# Elasticsearch configuration directory
#CONF_DIR=/etc/elasticsearch

# Elasticsearch data directory
#DATA_DIR=/var/lib/elasticsearch

# Elasticsearch logs directory
LOG_DIR=/var/log/elasticsearch

# Elasticsearch PID directory

aarg! I am still unable to start elasticsearch!


(system) #4