赞
踩
报错示例:
docker启动elasticsearch异常Exception in thread "main" java.nio.file.NoSuchFileException: /usr/share/elasticsearch/config/jvm.options
- hdback-elasticsearch_1 | Exception in thread "main" java.nio.file.NoSuchFileException: /usr/share/elasticsearch/config/jvm.options
- hdback-elasticsearch_1 | at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
- hdback-elasticsearch_1 | at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
- hdback-elasticsearch_1 | at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
- hdback-elasticsearch_1 | at java.base/sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:215)
- hdback-elasticsearch_1 | at java.base/java.nio.file.Files.newByteChannel(Files.java:369)
- hdback-elasticsearch_1 | at java.base/java.nio.file.Files.newByteChannel(Files.java:415)
- hdback-elasticsearch_1 | at java.base/java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:384)
- hdback-elasticsearch_1 | at java.base/java.nio.file.Files.newInputStream(Files.java:154)
- hdback-elasticsearch_1 | at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:60)
- docker_hdback-elasticsearch_1 exited with code 1
原因总结:
由于我的elasticsearch启动时使用的是docker-compose方式,并配置了config目录的挂载数据卷,而启动时宿主机的挂载数据文件夹中并没有jvm.options文件,因此出现该文件找不到的情况。
解决办法:
先将挂载数据卷配置注释,启动elasticsearch后将elasticsearch容器中的config/文件夹下的文件拷出到宿主机,重新启动即可。
1.将容器中文件拷出到宿主机挂载卷文件夹下
docker cp [容器ID]:容器文件路径 要拷贝的宿主机路径
例如我的:
docker cp 2a202fa:/usr/share/elasticsearch/plugins/ ./es/es-with-ik-plugins/
2.开启挂载卷配置,重新启动elasticsearch
PS 举一反三:
如果启动容器时出现文件找不到,首先关闭挂载卷配置,启动尝试,若没问题,即可判断是因为挂在卷文件不充足原因,按照上述方式解决即可。
还有一种情况是读写权限问题,给自己的挂在卷赋权限即可,类似的情况如:docker启动elasticsearch异常Failed to create node environment(解决)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。