docker启动elasticsearch时内存不足怎么解决
发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,本文小编为大家详细介绍"docker启动elasticsearch时内存不足怎么解决",内容详细,步骤清晰,细节处理妥当,希望这篇"docker启动elasticsearch时内存不足怎么解决"文章能
千家信息网最后更新 2024年12月12日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安全错误
数据库的锁怎样保障安全
网络安全法是在哪一年
网络安全漏洞自查整改报告
国企有网络安全工程师么
温州工业软件开发教程
网络安全中的socket
php怎么处理服务器安全
网络安全行吗
数据库中什么叫做自选键
软件开发的成本怎么核算
网络安全atp是什么意思
学软件开发年龄限制
数据库的对权限是什么意思
c社服务器
自定义女人的软件开发
个人信息网络安全研究现状
网络安全监督管理6
计算机网络技术的实践应用
公司网络安全宣传方案
画图表示数据库连接池的工作原理
计算机网络技术是什么产物
软件开发考研学校
查数据库执行操作的语句
国家网络安全是干嘛的
网络安全中的socket
手机如何自己制作服务器
1u服务器主机i3
数据库研究生招生管理系统
广州捷付网络技术有限公司
要把源码放进服务器才能做网站吗
网络技术基础形考作业