在Linux 上安装 elasticsearch8.10.4,jdk 版本为 17。
安装完成后,按以下步骤启动 elasticsearch:
创建 elastic 用户
adduser elastic
以 elastic 用户操作
su elastic
进入elasticsearch 的安装目录
cd /usr/local/elasticsearch/bin
执行启动命令:
./elasticsearch -d
执行时警告:
warning: ignoring JAVA_HOME=/usr/local/java/jdk-17.0.7; using bundled JDK
并报错:
fatal exception while booting Elasticsearchjava.nio.file.NoSuchFileException: /usr/local/java/jdk-17.0.7/jre/lib/rt.jar
看报警和报错的信息,应该是使用了elastic 内置的 jdk,但其内置jdk却去找了本机的 jdk 目录,没有发现‘rt.jar’文件(此文件在 java9 以后被官方去除了,可见其内置版本应该是 java8)。
查询本机的JAVA_HOME变量,发现有值:
echo $JAVA_HOME
显示:
/usr/local/java/jdk-17.0.7
所以问题应该出在为什么 elast