溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決Elasticsearch因jdk版本問題啟動失敗的問題

發(fā)布時間:2021-08-02 15:01:10 來源:億速云 閱讀:341 作者:chen 欄目:開發(fā)技術

本篇內(nèi)容主要講解“如何解決Elasticsearch因jdk版本問題啟動失敗的問題”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何解決Elasticsearch因jdk版本問題啟動失敗的問題”吧!

Elasticsearch3.4版本,在Linux機器上啟動報如下錯誤:

Exception in thread "main" java.lang.RuntimeException: Java version: Oracle Corporation 1.7.0_45 [OpenJDK 64-Bit Server VM 24.45-b08] suffers from critical bug https://bugs.openjdk.java.net/browse/JDK-8024830 which can cause data corruption.
Please upgrade the JVM, see http://www.elastic.co/guide/en/elasticsearch/reference/current/_installation.html for current recommendations.
If you absolutely cannot upgrade, please add -XX:-UseSuperWord to the JAVA_OPTS environment variable.
Upgrading is preferred, this workaround will result in degraded performance.
        at org.elasticsearch.bootstrap.JVMCheck.check(JVMCheck.java:123)
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:284)
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:45)
Refer to the log for complete error details.

看網(wǎng)上有說Linux自帶的OpenJDK和新裝的JDK可能會有沖突(跟Elasticsearch無關的文章),不知道和這個有沒有沒關系。

我的機器java -version如下,這算沖突嗎?我也不清楚。

java version "1.7.0_45"
OpenJDK Runtime Environment (rhel-2.4.3.3.el6-x86_64 u45-b15)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)

本來打算試一試刪掉OpenJDK安裝JDK7的,當時上官網(wǎng)下載Linux版JDK7時發(fā)現(xiàn)竟然要下載三個多小時,下載這個不知道為什么這么慢。

等JDK7時,我看報錯信息里please add -XX:-UseSuperWord to the JAVA_OPTS environment variable讓我配置環(huán)境變量,那我配一下也無妨。

在終端上輸入

export JAVA_OPTS=$JAVA_OPTS-XX:-UseSuperWord

然后啟動Elasticsearch,成了。

上邊那句只在當前用戶下生效,關閉終端或者退出用戶后,即使再次登錄,環(huán)境變量也失效了。機器不是我的,我沒有root權限改環(huán)境變量。

一不做二不休,我在Elasticsearch的啟動文件/bin/elasticsearch里加上這行,這樣每次啟動就沒問題了。

截圖如下

如何解決Elasticsearch因jdk版本問題啟動失敗的問題

解決ElasticSearch找不到JDK問題

Could not find any executable java binary.Please install java in your PATH

背景:

本地啟動ElasticSearch服務提示找不到JDK或JRE,提示Could not find any executable java binary. Please install java in your PATH or set JAVA_HOME.

如何解決Elasticsearch因jdk版本問題啟動失敗的問題

但是本地已經(jīng)安裝了jdk,并且已經(jīng)配置了環(huán)境變量,但是為什么還是有問題,答案是不要把環(huán)境變量設置到bin目錄。

解決方案:

設置環(huán)境變量JAVA_HOME,但是注意不要設置到\bin這個級別的目錄

  • JAVA_HOME:C:\Program Files (x86)\Java\jdk1.8.0_91\bin (錯誤)

  • JAVA_HOME:C:\Program Files (x86)\Java\jdk1.8.0_91 (正確)

原因:

啟動文件中的elasticsearch文件中,會自動去找JAVA_HOME這個變量下的bin,如下圖,如果設置了JAVA_HOME這個變量到bin路徑,就會有重復,導致ElasticSearch啟動找不到jdk變量。

如何解決Elasticsearch因jdk版本問題啟動失敗的問題

到此,相信大家對“如何解決Elasticsearch因jdk版本問題啟動失敗的問題”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI