elasticsearch启动时使用自带的JAVA版本

elk7以后软件里会集成相应的jdk版本

1、修改elastic的启动脚本文件

bin/elasticsearch

# 添加以下代码
export JAVA_HOME=¥ELASTIC_HOME/jdk/      (此处配置为elastic解压后jdk的路径)
export PATH=$JAVA_HOME/bin:$PATH
 
if [ -x "$JAVA_HOME/bin/java" ]; then
        JAVA="/home/yutao/jdk1.8.0_121/bin/java"
else
        JAVA=`which java`
fi

完整配置文件

#!/bin/bash

# CONTROLLING STARTUP:
#
# This script relies on a few environment variables to determine startup
# behavior, those variables are:
#
#   ES_PATH_CONF -- Path to config directory
#   ES_JAVA_OPTS -- External Java Opts on top of the defaults set
#
# Optionally, exact memory values can be set using the `ES_JAVA_OPTS`. Note that
# the Xms and Xmx lines in the JVM options file must be commented out. Example
# values are "512m", and "10g".
#
#   ES_JAVA_OPTS="-Xms8g -Xmx8g" ./bin/elasticsearch
#elastic中jdk路径
export JAVA_HOME=/home/elastic/elasticsearch-7.5.1/jdk/
export PATH=$JAVA_HOME/bin:$PATH

source "`dirname "$0"`"/elasticsearch-env

if [ -z "$ES_TMPDIR" ]; then
  ES_TMPDIR=`"$JAVA" -cp "$ES_CLASSPATH" org.elasticsearch.tools.launchers.TempDirectory`
fi

ES_JVM_OPTIONS="$ES_PATH_CONF"/jvm.options
ES_JAVA_OPTS=`export ES_TMPDIR; "$JAVA" -cp "$ES_CLASSPATH" org.elasticsearch.tools.launchers.JvmOptionsParser "$ES_JVM_OPTIONS"`
#添加的jdk判断
if [ -x "$JAVA_HOME/bin/java" ]; then
    JAVA="/home/elastic/elasticsearch-7.5.1/jdk/bin/java"
else
    JAVA=`which java`
fi

# manual parsing to find out, if process should be detached
if ! echo $* | grep -E '(^-d |-d$| -d |--daemonize$|--daemonize )' > /dev/null; then
  exec 
    "$JAVA" 
    $ES_JAVA_OPTS 
    -Des.path.home="$ES_HOME" 
    -Des.path.conf="$ES_PATH_CONF" 
    -Des.distribution.flavor="$ES_DISTRIBUTION_FLAVOR" 
    -Des.distribution.type="$ES_DISTRIBUTION_TYPE" 
    -Des.bundled_jdk="$ES_BUNDLED_JDK" 
    -cp "$ES_CLASSPATH" 
    org.elasticsearch.bootstrap.Elasticsearch 
    "$@"
else
  exec 
    "$JAVA" 
    $ES_JAVA_OPTS 
    -Des.path.home="$ES_HOME" 
    -Des.path.conf="$ES_PATH_CONF" 
    -Des.distribution.flavor="$ES_DISTRIBUTION_FLAVOR" 
    -Des.distribution.type="$ES_DISTRIBUTION_TYPE" 
    -Des.bundled_jdk="$ES_BUNDLED_JDK" 
    -cp "$ES_CLASSPATH" 
    org.elasticsearch.bootstrap.Elasticsearch 
    "$@" 
    <&- &
  retval=$?
  pid=$!
  [ $retval -eq 0 ] || exit $retval
  if [ ! -z "$ES_STARTUP_SLEEP_TIME" ]; then
    sleep $ES_STARTUP_SLEEP_TIME
  fi
  if ! ps -p $pid > /dev/null ; then
    exit 1
  fi
  exit 0
fi

exit $?
原文地址:https://www.cnblogs.com/fat-girl-spring/p/12692603.html