elasticsearch Docker启动Device or resource busy异常

embedded/2024/10/19 5:30:22/

问题

在基于Docker进行elasticsearch部署启动时,指定了elasticsearch.yml配置文件,但在启动时报如下异常:

Exception in thread "main" java.nio.file.FileSystemException: /usr/share/elasticsearch/config/elasticsearch.yml.cvrM1wfsRz-M7StPG7vFHw.tmp -> /usr/share/elasticsearch/config/elasticsearch.yml: Device or resource busyat java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:100)at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)at java.base/sun.nio.fs.UnixCopyFile.move(UnixCopyFile.java:416)at java.base/sun.nio.fs.UnixFileSystemProvider.move(UnixFileSystemProvider.java:266)at java.base/java.nio.file.Files.move(Files.java:1432)at org.elasticsearch.xpack.security.cli.AutoConfigureNode.fullyWriteFile(AutoConfigureNode.java:1136)at org.elasticsearch.xpack.security.cli.AutoConfigureNode.fullyWriteFile(AutoConfigureNode.java:1148)at org.elasticsearch.xpack.security.cli.AutoConfigureNode.execute(AutoConfigureNode.java:687)at org.elasticsearch.common.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:81)at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:112)at org.elasticsearch.cli.Command.main(Command.java:77)at org.elasticsearch.xpack.security.cli.AutoConfigureNode.main(AutoConfigureNode.java:157)

对应的elasticsearch版本为elasticsearch:8.13.0。

解决方案

elasticsearchyml_34">方案一:采用默认的elasticsearch.yml,不自行进行指定。

启动命令如下:

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms84m -Xmx512m" \
-v /Users/ershixiong/work/develop/soft/es/data:/usr/share/elasticsearch/data \
-v /Users/ershixiong/work/develop/soft/es/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:8.13.0

elasticsearchyml_47">方案二:有可能是elasticsearch.yml中配置错误。

常见错误一:elasticsearch.yml中配置格式错误,比如:

http.host:0.0.0.0

上述配置中,冒号后面缺少空格,标准的格式是应该有空格的。

常见错误二:参数配置错误。

还以上述为例:

http.host: 0.0.0.0

上述配置虽然格式挣钱,但貌似在该版本中并不支持该配置项目,而需要改为:

network.host: 0.0.0.0

改为上述配置便可正常启动。同时需要注意的是,在该版本中,上述配置是默认的配置,所以可以不用进行指定配置。

方案三:设置bootstrap.memory_lock参数为true

在启动命令时,设置bootstrap.memory_lock参数为true:

-e "bootstrap.memory_lock=true"

http://www.ppmy.cn/embedded/20784.html

相关文章

IDEA启动项目弹框提示:Lombok requires enabled annotation processing

问题现象 IDEA启动项目弹框提示如下图: 原因分析 由弹窗内容分析,首先确认我的IDEA中已经安装了Lombok插件,其次去settings中查找annotation processing配置,发现确实有这个配置并且未勾选启动 如何解决 修改配置

求三个字符数组最大者(C语言)

一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h> # include <string.h>int main() {//初始化变量值&#xff1b;int i 0;char str[3][20];char string[20];//循环输入3个字符…

【ZZULIOJ】1084: 计算两点间的距离(多实例测试)(Java)

目录 题目描述 输入 输出 样例输入 Copy 样例输出 Copy code 题目描述 输入两点坐标&#xff08;X1,Y1&#xff09;,&#xff08;X2,Y2&#xff09;,计算并输出两点间的距离。 输入 输入数据有多组&#xff0c;每组占一行&#xff0c;由4个实数组成&#xff0c;分别表…

android脱壳:一种使用native进行抽取壳脱壳的方法,native版本的frida-fart

前言 写rxposed的时候&#xff0c;搞了很多模块&#xff0c;其中有一个远程调用脱壳的&#xff0c;但是当时使用的是rmi远程调用&#xff0c;因为一些问题无法使用&#xff0c;可能是对抗问题&#xff0c;也有可能是技术问题&#xff0c;所以我又换了一种远程调用方式。 概述…

【方案解决思路】RPC服务器不可用

当在SCCM服务器上使用wmic /node:<客户端IP> process list命令时&#xff0c;如果遇到“RPC服务器不可用”的错误&#xff0c;这通常意味着SCCM服务器无法通过RPC协议与远程客户端通信。以下是一些可能的解决步骤&#xff1a; 检查远程客户端的RPC服务&#xff1a; 确保远…

【Vue】如何使用Webpack实现打包操作

一、Webpack介绍 Webpack最主要的作用就是打包操作&#xff0c;由两个核心部分构成分别是“出口”与“入口”。wbepack是现在比较热门的打包工具了&#xff0c;它可以将许多松散耦合的模块按照依赖和规则打包成符合生产环境部署的前端资源。说的直白一点&#xff0c;通过webpac…

深度学习-线性代数

目录 标量向量矩阵特殊矩阵特征向量和特征值 标量由只有一个元素的张量表示将向量视为标量值组成的列表通过张量的索引来访问任一元素访问张量的长度只有一个轴的张量&#xff0c;形状只有一个元素通过指定两个分量m和n来创建一个形状为mn的矩阵矩阵的转置对称矩阵的转置逻辑运…

TCP案例之单聊与群聊

TCP案例之单聊与群聊 一、TCP案例之单聊 在基于TCP协议的单聊应用中&#xff0c;通常涉及客户端和服务器端的交互。 服务器端 建立服务器&#xff1a; 服务器端创建一个TCP Socket并绑定到一个特定的端口&#xff0c;开始监听来自客户端的连接请求。 接受连接&#xff1a; …