Elasticsearch7.6.1安装报错及解决过程

Windows环境Elasticsearch7.6.1安装报错及解决过程

Elasticsearch是一个基于Lucene的搜索服务器。
第一次安装ES7.6.1,过程中遇到了一些报错,把解决方法列出来,总结一下。

jdk不匹配导致elasticsearch.bat启动报错

future versions of Elasticsearch will require Java 11; your Java version from [D:\developer_tools\jdk1.8.0_131\jre] does not meet this requirement
Warning: with JDK 8 on Windows, Elasticsearch may be unable to derive correct
  ergonomic settings due to a JDK issue (JDK-8074459). Please use a newer
  version of Java.
Warning: MaxDirectMemorySize may have been miscalculated due to JDK-8074459.
  Please use a newer version of Java or set MaxDirectMemorySize explicitly.

这个报错的大概意思是安装elasticsearch的话,本地的JDK需要1.8以上,目前JDK版本为1.8,JDK版本太低了,需要升级到11。

所以有两个办法,一个是在本地在安装JDK11,另外一个是直接利用elasticsearch自带的JDK。
这里我们用第二种方法,在ES安装路径下找到这个文件,bin/elasticsearch-env.bat修改其中的JAVA_HOME。设置为Elasticsearch自带的jdk即可。

set JAVA_HOME=D:/ruanjian/elasticsearch-7.6.1/jdk
if defined JAVA_HOME (
  set JAVA="%JAVA_HOME%\bin\java.exe"
  set JAVA_TYPE=JAVA_HOME
) else (
  set JAVA="%ES_HOME%\jdk\bin\java.exe"
  set JAVA_HOME="%ES_HOME%\jdk"
  set JAVA_TYPE=bundled jdk
)

OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.报错

之后再运行elasticsearch.bat,又出现另外一个警告:

OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.

这是提醒你 cms 垃圾收集器在 jdk9 就开始被标注为 @deprecated

看下JDK11支持的垃圾回收器

[HotSpot Virtual Machine Garbage Collection Tuning Guide]
找到config路径下,找到jvm.options配置文件将以下内容(35行-38行左右)

## GC configuration 
-XX:+UseConcMarkSweepGC 
-XX:CMSInitiatingOccupancyFraction=75 
-XX:+UseCMSInitiatingOccupancyOnly 

改为:

## GC configuration 
-XX:+UseG1GC 
-XX:CMSInitiatingOccupancyFraction=75 
-XX:+UseCMSInitiatingOccupancyOnly 

修改好以上配置,以为现在双击 elasticsearch.bat 就可以成功启动,结果出现闪退,都看不到错误信息,

org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: Unable to access ‘path.data’ 错误解决

双击运行闪退看不到日志,于是转为在DOS命令窗口运行,直接运行elasticsearch 下的elasticsearch.bat,结果报错:
启动elasticsearch报错
看到了错误信息:
[ERROR][o.e.b.ElasticsearchUncaughtExceptionHandler] [LICHEN] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: Unable to access ‘path.data’ (D:\ruanjian\elasticsearch-7.6.1\data)

其实还是操作上的问题,经过查询,发现是因为不是root用户,在配置文件的时候。数据目录和日志目录等不能应该放在用户的目录下,防止因为该用户不能在所设置的目录下创建文件而引起报错。

所以,elasticsearch.bat右键 选择以管理员身份运行,成功启动。
成功启动elasticsearch

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值