解決Elasticsearch因jdk版本問題啟動(dòng)失敗的問題
Elasticsearch2.4版本,在Linux機(jī)器上啟動(dòng)報(bào)如下錯(cuò)誤:
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可能會(huì)有沖突(跟Elasticsearch無關(guān)的文章),不知道和這個(gè)有沒有沒關(guān)系。
我的機(jī)器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的,當(dāng)時(shí)上官網(wǎng)下載Linux版JDK7時(shí)發(fā)現(xiàn)竟然要下載三個(gè)多小時(shí),下載這個(gè)不知道為什么這么慢。
等JDK7時(shí),我看報(bào)錯(cuò)信息里please add -XX:-UseSuperWord to the JAVA_OPTS environment variable讓我配置環(huán)境變量,那我配一下也無妨。
在終端上輸入
export JAVA_OPTS=$JAVA_OPTS-XX:-UseSuperWord
然后啟動(dòng)Elasticsearch,成了。
上邊那句只在當(dāng)前用戶下生效,關(guān)閉終端或者退出用戶后,即使再次登錄,環(huán)境變量也失效了。機(jī)器不是我的,我沒有root權(quán)限改環(huán)境變量。
一不做二不休,我在Elasticsearch的啟動(dòng)文件/bin/elasticsearch里加上這行,這樣每次啟動(dòng)就沒問題了。
截圖如下

解決ElasticSearch找不到JDK問題
Could not find any executable java binary.Please install java in your PATH
背景:
本地啟動(dòng)ElasticSearch服務(wù)提示找不到JDK或JRE,提示Could not find any executable java binary. Please install java in your PATH or set JAVA_HOME.

但是本地已經(jīng)安裝了jdk,并且已經(jīng)配置了環(huán)境變量,但是為什么還是有問題,答案是不要把環(huán)境變量設(shè)置到bin目錄。
解決方案:
設(shè)置環(huán)境變量JAVA_HOME,但是注意不要設(shè)置到\bin這個(gè)級(jí)別的目錄
- JAVA_HOME:C:\Program Files (x86)\Java\jdk1.8.0_91\bin (錯(cuò)誤)
- JAVA_HOME:C:\Program Files (x86)\Java\jdk1.8.0_91 (正確)
原因:
啟動(dòng)文件中的elasticsearch文件中,會(huì)自動(dòng)去找JAVA_HOME這個(gè)變量下的bin,如下圖,如果設(shè)置了JAVA_HOME這個(gè)變量到bin路徑,就會(huì)有重復(fù),導(dǎo)致ElasticSearch啟動(dòng)找不到j(luò)dk變量。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解SpringBoot中異步請求和異步調(diào)用(看完這一篇就夠了)
這篇文章主要介紹了SpringBoot中異步請求和異步調(diào)用問題,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04
springboot實(shí)現(xiàn)瀏覽器截屏并添加文字
大家好,本篇文章主要講的是springboot實(shí)現(xiàn)瀏覽器截屏并添加文字,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下2022-02-02
SpringBoot使用阿里OSS實(shí)現(xiàn)文件云存儲(chǔ)的方法
這篇文章主要介紹了SpringBoot使用阿里OSS實(shí)現(xiàn)文件云存儲(chǔ),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10
java?freemarker實(shí)現(xiàn)動(dòng)態(tài)生成excel文件
這篇文章主要為大家詳細(xì)介紹了java如何通過freemarker實(shí)現(xiàn)動(dòng)態(tài)生成excel文件,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12
Spring注解實(shí)現(xiàn)Bean自動(dòng)裝配示例詳解
這篇文章主要給大家介紹了關(guān)于Spring注解實(shí)現(xiàn)Bean自動(dòng)裝配的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
Java 使用openoffice進(jìn)行word轉(zhuǎn)換為pdf的方法步驟
這篇文章主要介紹了Java 使用openoffice進(jìn)行word轉(zhuǎn)換為pdf的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
Java GUI圖形界面開發(fā)實(shí)現(xiàn)小型計(jì)算器流程詳解
本文章向大家介紹Java GUI圖形界面開發(fā)實(shí)現(xiàn)小型計(jì)算器,主要包括布局管理器使用實(shí)例、應(yīng)用技巧、基本知識(shí)點(diǎn)總結(jié)和需要注意事項(xiàng),具有一定的參考價(jià)值,需要的朋友可以參考一下2022-08-08

