docker启动elasticsearch时内存不⾜问题及解决⽅法
问题
docker安装并启动elasticsearch时内存不⾜
系统centos8(阿⾥云ecs服务器)
[root@iZ2zeczvvb79boy368xppwZ ~]# cat /etc/redhat-release
CentOS 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 "pe=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 ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
edfc400862eb 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 rabbitmq 2ae2f3f8dc1f nginx:1.10 "nginx -g 'daemon of…" 2 weeks ago
Up 2 weeks 0.0.0.0:80->80/tcp, 443/tcp nginx
164e4e7561df redis:3.2 "docker-entrypoint.s…" 2 weeks ago Up 2 weeks 0.0.0.0:6379->6379/tcp redis
eeabe57f1f21 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 -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
767829ae1d7c elasticsearch:6.4.0 "/usr/local/bin/dock…" About a minute ago Exited (1) About a minute ago elasticsearch
edfc400862eb 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:256
72->25672/tcp rabbitmq 2ae2f3f8dc1f nginx:1.10 "nginx -g 'daemon of…" 2 weeks ago Up 2 weeks 0.0.0.0:80->80/tcp, 443/tcp nginx
164e4e7561df redis:3.2 "docker-entrypoint.s…" 2 weeks ago Up 2 weeks 0.0.0.0:6379->6379/tcp redis
eeabe57f1f21 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 elasticsearch
OpenJDK 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 /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进入容器再次启动容器,docker ps查看容器启动成功
[root@iZ2zeczvvb79boy368xppwZ ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f5c4ed61196b 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 elasticsearch
edfc400862eb 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 rabbitmq 2ae2f3f8dc1f nginx:1.10 "nginx -g 'daemon of…" 2 weeks ago Up 2 weeks 0.0.0.0:80->80/tcp, 443/tcp nginx
164e4e7561df redis:3.2 "docker-entrypoint.s…" 2 weeks ago Up 2 weeks 0.0.0.0:6379->6379/tcp redis
eeabe57f1f21 mysql:5.7 "docker-entrypoint.s…" 2 weeks ago Up 2 weeks 0.0.0.0:3306->3306/tcp, 33060/tcp mysql
总结
到此这篇关于docker启动elasticsearch时内存不⾜问题及解决⽅法的⽂章就介绍到这了,更多相关docker启动elasticsearch内存不⾜内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
推荐文章
热门文章
-
随机森林算法的改进方法
2024-10-02 -
基于随机森林算法的风险预警模型研究
2024-10-02 -
Python中的随机森林算法详解
2024-10-02 -
随机森林发展历史
2024-10-02 -
如何使用随机森林进行时间序列数据模式识别(八)
2024-10-02 -
随机森林回归模型原理
2024-10-02 -
如何使用随机森林进行时间序列数据模式识别(六)
2024-10-02 -
如何使用随机森林进行时间序列数据预测(四)
2024-10-02 -
如何使用随机森林进行异常检测(六)
2024-10-02 -
随机森林算法和grandientboosting算法 -回复
2024-10-02 -
随机森林方法总结全面
2024-10-02 -
随机森林算法原理和步骤
2024-10-02 -
随机森林的原理
2024-10-02 -
随机森林 重要性
2024-10-02 -
随机森林算法
2024-10-02 -
机器学习中随机森林的原理
2024-10-02 -
随机森林算法原理
2024-10-02 -
使用计算机视觉技术进行动物识别的技巧
2024-10-02 -
基于crf命名实体识别实验总结
2024-10-02 -
transformer预测模型训练方法
2024-10-02
最新文章
-
随机森林算法介绍及R语言实现
2024-10-02 -
基于随机森林优化的神经网络算法在冬小麦产量预测中的应用研究_百度文 ...
2024-10-02 -
基于正则化贪心森林算法的情感分析方法研究
2024-10-02 -
随机森林算法和grandientboosting算法
2024-10-02 -
基于随机森林的图像分类算法研究
2024-10-02 -
随机森林结合直接正交信号校正的模型传递方法
2024-10-02
发表评论