docker启动elasticsearch时内存不足怎么解决
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,本文小编为大家详细介绍"docker启动elasticsearch时内存不足怎么解决",内容详细,步骤清晰,细节处理妥当,希望这篇"docker启动elasticsearch时内存不足怎么解决"文章能
千家信息网最后更新 2025年11月10日docker启动elasticsearch时内存不足怎么解决
本文小编为大家详细介绍"docker启动elasticsearch时内存不足怎么解决",内容详细,步骤清晰,细节处理妥当,希望这篇"docker启动elasticsearch时内存不足怎么解决"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
问题
docker安装并启动elasticsearch时内存不足
系统centos8(阿里云ecs服务器)
[root@iz2zeczvvb79boy368xppwz ~]# cat /etc/redhat-releasecentos linux release 8.1.1911 (core)
安装过程
docker pull elasticsearch:6.4.0
修改虚拟机内存(貌似没有效果)
sysctl -w vm.max_map_count=262144
使用docker run命令跑容器
docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \-e "discovery.type=single-node" \-e "cluster.name=elasticsearch" \-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \-d elasticsearch:6.4.0
docker ps查看容器并没有启动
[root@iz2zeczvvb79boy368xppwz ~]# docker pscontainer id image command created status ports namesedfc400862eb rabbitmq:3.7.15 "docker-entrypoint.s…" 14 hours ago up 14 hours 0.0.0.0:4369->4369/tcp, 0.0.0.0:5671-5672->5671-5672/tcp, 0.0.0.0:15671-15672->15671-15672/tcp, 0.0.0.0:25672->25672/tcp rabbitmq2ae2f3f8dc1f nginx:1.10 "nginx -g 'daemon of…" 2 weeks ago up 2 weeks 0.0.0.0:80->80/tcp, 443/tcp nginx164e4e7561df redis:3.2 "docker-entrypoint.s…" 2 weeks ago up 2 weeks 0.0.0.0:6379->6379/tcp rediseeabe57f1f21 mysql:5.7 "docker-entrypoint.s…" 2 weeks ago up 2 weeks 0.0.0.0:3306->3306/tcp, 33060/tcp mysql
docker ps -a 查看容器确实创建了
[root@iz2zeczvvb79boy368xppwz ~]# docker ps -acontainer id image command created status ports names767829ae1d7c elasticsearch:6.4.0 "/usr/local/bin/dock…" about a minute ago exited (1) about a minute ago elasticsearchedfc400862eb rabbitmq:3.7.15 "docker-entrypoint.s…" 14 hours ago up 14 hours 0.0.0.0:4369->4369/tcp, 0.0.0.0:5671-5672->5671-5672/tcp, 0.0.0.0:15671-15672->15671-15672/tcp, 0.0.0.0:25672->25672/tcp rabbitmq2ae2f3f8dc1f nginx:1.10 "nginx -g 'daemon of…" 2 weeks ago up 2 weeks 0.0.0.0:80->80/tcp, 443/tcp nginx164e4e7561df redis:3.2 "docker-entrypoint.s…" 2 weeks ago up 2 weeks 0.0.0.0:6379->6379/tcp rediseeabe57f1f21 mysql:5.7 "docker-entrypoint.s…" 2 weeks ago up 2 weeks 0.0.0.0:3306->3306/tcp, 33060/tcp mysql
查看日志docker logs -f elasticsearch命令查看日志发现jvm内存不足
[root@iz2zeczvvb79boy368xppwz ~]# docker logs -f elasticsearchopenjdk 64-bit server vm warning: option useconcmarksweepgc was deprecated in version 9.0 and will likely be removed in a future release.openjdk 64-bit server vm warning: info: os::commit_memory(0x00007ebf15330000, 549668585472, 0) failed; error='not enough space' (errno=12)## there is insufficient memory for the java runtime environment to continue.# native memory allocation (mmap) failed to map 549668585472 bytes for committing reserved memory.# an error report file with more information is saved as:# logs/hs_err_pid1.log
解决方法
修改jvm.options文件配置
首先查找jvm.options文件位置(每个服务器的位置可能不同)
[root@iz2zeczvvb79boy368xppwz ~]# find / -name jvm.options/var/lib/docker/overlay2/d399872a3517b4d4acb0d2f70d0625c0f38251ffe5819a1cea00f8213de3e7f5/diff/usr/share/elasticsearch/config/jvm.options
vim进入文件修改虚拟机最小内存
[root@iz2zeczvvb79boy368xppwz ~]# vim /var/lib/docker/overlay2/d399872a3517b4d4acb0d2f70d0625c0f38251ffe5819a1cea00f8213de3e7f5/diff/usr/share/elasticsearch/config/jvm.options
找到-xms属性,修改成512m(我的elasticsearch:6.4.0默认为1g)
## jvm configuration################################################################## important: jvm heap size#################################################################### you should always set the min and max jvm heap## size to the same value. for example, to set## the heap to 4 gb, set:#### -xms4g## -xmx4g#### see https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html## for more information################################################################### xms represents the initial size of total heap space# xmx represents the maximum size of total heap space-xms512m-xmx512m
保存并退出
vim中按i进入编辑模式,按esc退出编辑模式,按:进入命令模式,然后在底部命令行输入w为保存,q为退出,q!为强制退出。
再次启动容器,docker ps查看容器启动成功
[root@iz2zeczvvb79boy368xppwz ~]# docker pscontainer id image command created status ports namesf5c4ed61196b elasticsearch:6.4.0 "/usr/local/bin/dock…" 15 minutes ago up 15 minutes 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp elasticsearchedfc400862eb rabbitmq:3.7.15 "docker-entrypoint.s…" 15 hours ago up 15 hours 0.0.0.0:4369->4369/tcp, 0.0.0.0:5671-5672->5671-5672/tcp, 0.0.0.0:15671-15672->15671-15672/tcp, 0.0.0.0:25672->25672/tcp rabbitmq2ae2f3f8dc1f nginx:1.10 "nginx -g 'daemon of…" 2 weeks ago up 2 weeks 0.0.0.0:80->80/tcp, 443/tcp nginx164e4e7561df redis:3.2 "docker-entrypoint.s…" 2 weeks ago up 2 weeks 0.0.0.0:6379->6379/tcp rediseeabe57f1f21 mysql:5.7 "docker-entrypoint.s…" 2 weeks ago up 2 weeks 0.0.0.0:3306->3306/tcp, 33060/tcp mysql
读到这里,这篇"docker启动elasticsearch时内存不足怎么解决"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
内存
容器
命令
文件
文章
模式
位置
内容
日志
服务器
服务
不同
妥当
最小
成功
再次
属性
底部
思路
效果
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
西宁iphone服务器租用
老百姓怎么理解数据库
河南省网络安全产业链
北京服务器搬迁注意事项
山东网络安全大赛时间
诚毅科技软件开发限公司
服务器安全软件哪个最好
个性化软件开发电话
dhcp服务器需要建立在AD域
安徽塔式服务器经销商
数据库后端设计说明
玩第五人格总是重连服务器怎么办
计算机网络技术的学校专科
不信谣不传谣不造谣网络安全
中国软件开发公司招聘最近信息
服务器渗透安全测试
网络安全等级调低
安徽服务器硬盘质保期
软件开发培训学校沈
网络安全培训大概多少钱
cpr急救互联网科技手段
浪潮服务器装凝思系统
吉林软件开发服务价格优惠
嘉兴数字化智慧校园软件开发
高清网络安全知识图解
建行软件开发中心 改革
服务器可以带40台电脑吗
全球因特网的服务器在哪
有哪些网络安全隐患
华为路由器映射内网数据库