docker启动elasticsearch时内存不足怎么解决
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,本文小编为大家详细介绍"docker启动elasticsearch时内存不足怎么解决",内容详细,步骤清晰,细节处理妥当,希望这篇"docker启动elasticsearch时内存不足怎么解决"文章能
千家信息网最后更新 2025年02月01日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安全错误
数据库的锁怎样保障安全
中专计算机网络技术就业好吗
考核软件开发进度
云服务器配置环境
泗洪进口网络技术价格表格
rpm使用的文件数据库
pi数据库备份恢复
服务器主板价格
泰拉瑞亚加入旧服务器
如何用软件开发的思想开发软件
环保软件开发目的
易迅软件开发工作室
哪个国家的数据库最好
网络安全与通信工程师是干嘛的
电网自动化网络安全书籍
软件开发项目的环境
国外网络安全的it公司
西城区威力软件开发推广
快表配置数据库
数据库mdf文件管理员
ftp服务器如何保证安全
商丘软件开发有限公司服务至上
团员管理数据库
网络安全周电商产业园启动仪式
任正非互联网科技
参加网络安全周启动仪式
无线网络安全技术课程试题
比亚迪软件开发查学历吗
寒假网络安全教育
戴尔塔式服务器维修服务
图书在线编目数据库